def test_remove_items(): repo = Repository() repo.add_item(0) repo.add_item(1) repo.add_item(1) repo.add_item(1) repo.remove_item(lambda item: item == 1) assert repo.get_items() == [0, 1, 1] repo.undo() assert repo.get_items() == [0, 1, 1, 1] repo.remove_items(lambda item: item == 1) assert repo.get_items() == [0] repo.undo() assert repo.get_items() == [0, 1, 1, 1]