import _ast import unittest def srcExprToTree(source): return compile( source, '', 'eval', _ast.PyCF_ONLY_AST ) class ASTTest (unittest.TestCase): def testAST(self): expr = srcExprToTree( 'a < b < c' ) compare = expr.body self.assert_( isinstance( compare.ops[0], _ast.Lt ) ) self.assert_( isinstance( compare.comparators[0], _ast.Name ) ) self.assert_( isinstance( compare.ops[1], _ast.Lt ) ) self.assert_( isinstance( compare.comparators[1], _ast.Name ) ) self.assert_( isinstance( compare.ops[1:][0], _ast.Lt ) ) self.assert_( isinstance( compare.comparators[1:][0], _ast.Name ) ) z = zip( compare.ops[1:], compare.comparators[1:] ) self.assert_( isinstance( z[0][0], _ast.Lt ) ) self.assert_( isinstance( z[0][1], _ast.Name ) ) if __name__ == '__main__': unittest.main()