def test_sorting_rewards_by_stat_priority(self): team_stats = Stats({'Artifact': 2, 'Memento': 4}) reward_list = RewardList() reward_list.add_pending_reward(REWARD_WIFI) reward_list.add_pending_reward(REWARD_TABLET1) reward_list.add_pending_reward(REWARD_WINE) reward_list.add_pending_reward(REWARD_TABLET2) self.assertEqual(reward_list.list_reward_names(), ['WiFi', 'Tablet1', 'Wine', 'Tablet2']) reward_list.sort_rewards_by_type(team_stats.list_stats()) self.assertEqual(reward_list.list_reward_names(), ['Tablet1', 'Tablet2', 'Wine', 'WiFi'])
def test_sorting_essential_rewards(self): reward_list = RewardList() self.assertEqual(reward_list.list_reward_names(), []) reward_list.add_pending_reward(REWARD_TABLET2) reward_list.add_pending_reward(REWARD_WINE) reward_list.add_pending_reward(REWARD_TABLET1) self.assertEqual(REWARD_WINE.essential, True) self.assertEqual(REWARD_TABLET2.essential, False) self.assertEqual(reward_list.list_reward_names(), ['Tablet2', 'Wine', 'Tablet1']) reward_list.sort_put_essentials_on_top() self.assertEqual(reward_list.list_reward_names(), ['Wine', 'Tablet2', 'Tablet1'])
def test_sorting_rewards_by_requirement(self): reward1 = Reward('Name1', 'Contract', stats={'Contract': 2}, materials=3, rewards=[]) reward2 = Reward('Name2', 'Contract', stats={'Tech': 3, 'Artifact': 4}, materials=5, rewards=[]) reward3 = Reward('Name3', 'Contract', stats={'Memento': 3, 'Artifact': 4}, materials=0, rewards=[]) reward_list = RewardList() reward_list.add_pending_reward(reward1) reward_list.add_pending_reward(reward2) reward_list.add_pending_reward(reward3) self.assertEqual(reward_list.list_reward_names(), ['Name1', 'Name2', 'Name3']) reward_list.sort_rewards_by_requirements_sum() self.assertEqual(reward_list.list_reward_names(), ['Name2', 'Name3', 'Name1'])
def test_reward_name_listing(self): wifi = Reward(MOCK_REWARD_WIFI['name'], MOCK_REWARD_WIFI['type'], MOCK_REWARD_WIFI['stats'], 1, MOCK_REWARD_WIFI['rewards']) reward_list = RewardList() self.assertEqual(reward_list.list_reward_names(), []) reward_list.add_pending_reward(wifi) self.assertEqual(reward_list.list_reward_names(), [MOCK_REWARD_WIFI['name']]) self.assertEqual(reward_list.list_obtained_reward_names(), []) self.assertEqual(reward_list.list_pending_reward_names(), [MOCK_REWARD_WIFI['name']]) reward_list.obtain_reward(MOCK_REWARD_WIFI['name']) self.assertEqual(reward_list.list_obtained_reward_names(), [MOCK_REWARD_WIFI['name']]) self.assertEqual(reward_list.list_pending_reward_names(), []) self.assertEqual(reward_list.list_reward_names(), [MOCK_REWARD_WIFI['name']])