def test_remove_child(self): "A child can be removed" source = TreeSource(data={ ('first', 111): None, ('second', 222): [], ('third', 333): [('third.one', 331), ('third.two', 332)] }, accessors=['val1', 'val2']) self.assertEqual(len(source), 3) self.assertEqual(len(source[2]), 2) listener = Mock() source.add_listener(listener) # Remove "third.two" node = source.remove(source[2][1]) self.assertEqual(len(source), 3) self.assertEqual(len(source[2]), 1) listener.remove.assert_called_once_with(item=node, index=1, parent=source[2]) # Remove "third.one" node = source.remove(source[2][0]) self.assertEqual(len(source), 3) self.assertEqual(len(source[2]), 0) listener.remove.assert_any_call(item=node, index=0, parent=source[2])
def test_remove_child(self): "A child can be removed" source = TreeSource( data={ ('first', 111): None, ('second', 222): [], ('third', 333): [ ('third.one', 331), ('third.two', 332) ] }, accessors=['val1', 'val2'] ) self.assertEqual(len(source), 3) self.assertEqual(len(source[2]), 2) listener = Mock() source.add_listener(listener) # Remove the child element node = source.remove(source[2][1]) self.assertEqual(len(source), 3) self.assertEqual(len(source[2]), 1) listener.remove.assert_called_once_with(item=node)
def test_remove_root(self): "A root can be removed" source = TreeSource(data={ ('first', 111): None, ('second', 222): [], ('third', 333): [('third.one', 331), ('third.two', 332)] }, accessors=['val1', 'val2']) self.assertEqual(len(source), 3) self.assertEqual(len(source[2]), 2) listener = Mock() source.add_listener(listener) # Remove the root element node = source.remove(source[1]) self.assertEqual(len(source), 2) self.assertEqual(len(source[1]), 2) listener.remove.assert_called_once_with(item=node, index=1, parent=None)