def test_remove(self): item1 = MagicMock() item1._deps = ["foo", "bar"] item2 = MagicMock() item2._deps = ["foo"] items = deps.remove_dep_from_items([item1, item2], "foo") self.assertEqual(items[0]._deps, ["bar"]) self.assertEqual(items[1]._deps, [])
def test_recursive_removal(self): item1 = MagicMock() item1.id = "item1" item1._deps = ["item2"] item2 = MagicMock() item2.id = "item2" item2._deps = ["item3"] item3 = MagicMock() item3.id = "item3" item3._deps = [] items = [item1, item2, item3] self.assertEqual( deps.remove_item_dependents(items, item3), ([item3], [item2, item1]), )