def test_remove_item_that_isnt_in_the_bag(self): bag = TypeBag() o1 = 123 bag.add(o1) self.assertRaises(lambda: bag.remove(456), KeyError) self.assertRaises(lambda: bag.remove(7.89), KeyError) bag.remove(o1) self.assertRaises(lambda: bag.remove(o1), KeyError)
def test_remove_takes_item_xor_id(self): bag = TypeBag() self.assertRaises(bag.remove, AssertionError) self.assertRaises( lambda: bag.remove(item=123, itemid=456), AssertionError)
def test_remove_returns_the_removed_item(self): bag = TypeBag() o1 = 123 bag.add(o1) self.assertIs(bag.remove(itemid=id(o1)), o1)