class TestManager(unittest.TestCase): def setUp(self): self.achievements = [AlwaysUnlockedAchievement()] self.manager = AchievementManager(self.achievements * 2) self.manager.load() def test_does_not_add_duplicate_achievements(self): self.assertEqual(len(self.manager), 1) def test_achievement_key_is_in_manager(self): self.assertTrue(AlwaysUnlockedAchievement.key in self.manager) def test_other_instance_of_same_achievement_is_in_manager(self): self.assertTrue(AlwaysUnlockedAchievement() in self.manager) def test_iterating_manager_returns_achievements(self): self.assertEqual(list(self.manager), self.achievements)
def __init__(self, achievements=default_manager, data=None): super(AchievementsPlugin, self).__init__() if callable(achievements): achievements = achievements() if not isinstance(achievements, AchievementManager): achievements = AchievementManager(achievements) self.achievements = achievements self.data = AchievementData(data or {}) self.output_stream = None
def setUp(self): self.achievements = [AlwaysUnlockedAchievement()] self.manager = AchievementManager(self.achievements * 2) self.manager.load()