def get_test(self): root = ItemTreeRoot(name="top_level") item1 = Leaf(name="item1", parent=root) item2 = Leaf(name="item2", parent=root) items = Items(items=[item1, item2]) self.assertEqual(items.get("item1").name, "item1") self.assertEqual(items.get("item1"), item1) self.assertEqual(items.get("item2").name, "item2") self.assertEqual(items.get("item2"), item2) self.assertIsNone(items.get("foo"), None)
def pop_test(self): root = ItemTreeRoot(name="top_level") item1 = Leaf(name="item1", parent=root) item2 = Leaf(name="item2", parent=root) items = Items(items=[item1, item2]) self.assertEqual(items.pop("item1"), item1) self.assertEqual(items.pop("item2"), item2) with self.assertRaises(KeyError): items.pop("item1") items.pop("item2") items.pop("foo")
def in_test(self): root = ItemTreeRoot(name="top_level") item1 = Leaf(name="item1", parent=root) items = Items(items=[item1]) # stuff thats inside should return True self.assertTrue(item1 in items) self.assertTrue(item1.name in items) self.assertTrue("item1" in items) # stuff that is not inside should return False self.assertFalse(root in items) self.assertFalse("foo" in items) self.assertFalse(None in items) self.assertFalse(1234 in items) self.assertFalse(items in items)
def length_test(self): # empy items should have length of 0 items = Items() self.assertEqual(len(items), 0) # check container instantiation from a list of items root = ItemTreeRoot(name="top_level") item1 = Leaf(name="item1", parent=root) item2 = Leaf(name="item2", parent=root) tree1 = ItemTree(name="tree1", parent=root) items = Items(items=[item1, item2, tree1]) # our testing items contain 3 items self.assertEqual(len(items), 3) # check that lenght respects item removal items.remove("item1") self.assertEqual(len(items), 2) items.remove("tree1") # clearing should result in zero length self.assertEqual(len(items), 1) items.clear() self.assertEqual(len(items), 0) # adding items should increase lenght root = ItemTreeRoot(name="top_level") foo = Leaf(name="foo", parent=root) bar = Leaf(name="bar", parent=root) items.add(foo) self.assertEqual(len(items), 1) items.clear() items.add_items([foo, bar]) self.assertEqual(len(items), 2)