def test_object_eq(self): a = Node('a') b = Node('a') assert a != b assert b != a assert a is not b assert b is not a assert a == a assert b == b assert a is a assert b is b
def test_equals(self): a = Node('abc') b = Node('abc') assert a == a assert not (a != a) assert not (a == b) assert a._recursively_eq(b) assert Node(a) != a assert Node(a)._recursively_eq(Node(a)) assert not Node(a)._recursively_eq(a)
def __getitem__(self, index): if isinstance(index, basestring): try: return self.find(index)[0] except IndexError: raise KeyError(index) return Node.__getitem__(self, index)
def tree(self): return Node(('a', Node('A')), ('b', Node('B')))
def tree(self): return Node('a', Node('b', Node('c', Node('d'), Node('e')), Node('f')), Node('g'), Node('h', Node('i', Node('j'), Node('k')), Node('l')))
def test_children(self): a = Node('a') for c in a: assert c == 'a', c
def test_recursive_eq(self): a = Node('a', Node('b')) b = Node('a', Node('b')) c = Node('a', Node('c')) assert a._recursively_eq(b) assert not a._recursively_eq(c)