Пример #1
0
class TestTallying(unittest.TestCase):
    def setUp(self):
        self.profile = Profile()
        self.floor = Floor()
        self.level = Level(self.profile, 1)
        self.level.floor = self.floor
        self.level.load_level = mock.Mock()
        self.level.is_failed = mock.Mock(return_value=False)
        self.level.floor.other_units = mock.Mock(return_value=[mock.Mock()])
        self.warrior = mock.Mock(score=0, abilities={})
        self.level.warrior = self.warrior

    def test_should_add_warrior_score_to_profile(self):
        self.warrior.score = 30
        self.profile.score = 0
        self.level.tally_points()
        self.assertEqual(self.profile.score, 30)

    def test_should_apply_warrior_abilities_to_profile(self):
        self.warrior.abilities = {'foo': None, 'bar': None}
        self.level.tally_points()
        self.assertEqual(['foo', 'bar'], self.profile.abilities)

    def test_should_apply_time_bonus_to_profile_score(self):
        self.level.time_bonus = 20
        self.level.tally_points()
        self.assertEqual(20, self.profile.score)

    def test_should_give_20_percent_bonus_when_no_other_units_left(self):
        self.level.floor.other_units = mock.Mock(return_value=[])
        self.warrior.score = 10
        self.level.time_bonus = 10
        self.level.tally_points()
        self.assertEqual(24, self.profile.score)
Пример #2
0
class TestTallying(unittest.TestCase):
    def setUp(self):
        self.profile = Profile()
        self.floor = Floor()
        self.level = Level(self.profile, 1)
        self.level.floor = self.floor
        self.level.load_level = mock.Mock()
        self.level.is_failed = mock.Mock(return_value=False)
        self.level.floor.other_units = mock.Mock(return_value=[mock.Mock()])
        self.warrior = mock.Mock(score=0, abilities={})
        self.level.warrior = self.warrior

    def test_should_add_warrior_score_to_profile(self):
        self.warrior.score = 30
        self.profile.score = 0
        self.level.tally_points()
        self.assertEqual(self.profile.score, 30)

    def test_should_apply_warrior_abilities_to_profile(self):
        self.warrior.abilities = {'foo': None, 'bar': None}
        self.level.tally_points()
        self.assertEqual(['foo', 'bar'], self.profile.abilities)

    def test_should_apply_time_bonus_to_profile_score(self):
        self.level.time_bonus = 20
        self.level.tally_points()
        self.assertEqual(20, self.profile.score)

    def test_should_give_20_percent_bonus_when_no_other_units_left(self):
        self.level.floor.other_units = mock.Mock(return_value=[])
        self.warrior.score = 10
        self.level.time_bonus = 10
        self.level.tally_points()
        self.assertEqual(24, self.profile.score)