def test_traverse(): t = TableSymbol('t', '{name: string, amount: int}') assert t in list(t.traverse()) expr = t[t['amount'] < 0]['name'] trav = list(expr.traverse()) assert any(t['amount'].isidentical(x) for x in trav) assert any((t['amount'] < 0).isidentical(x) for x in trav)