def test_upper_section_bonus(self): pyhtzee = Pyhtzee() pyhtzee.dice = [1, 1, 1, 1, 1] pyhtzee.take_action(category_to_action_map[Category.ACES]) pyhtzee.dice = [2, 2, 2, 2, 2] pyhtzee.take_action(category_to_action_map[Category.TWOS]) pyhtzee.dice = [3, 3, 3, 3, 3] pyhtzee.take_action(category_to_action_map[Category.THREES]) pyhtzee.dice = [4, 4, 4, 4, 4] pyhtzee.take_action(category_to_action_map[Category.FOURS]) pyhtzee.dice = [5, 5, 5, 5, 5] pyhtzee.take_action(category_to_action_map[Category.FIVES]) pyhtzee.dice = [6, 6, 6, 6, 6] action = category_to_action_map[Category.SIXES] reward = pyhtzee.take_action(action) self.assertEqual(reward, 65) self.assertEqual(pyhtzee.scores[Category.SIXES], 30) self.assertEqual(pyhtzee.scores[Category.UPPER_SECTION_BONUS], 35)
def test_perfect_yahztee_score_with_yatzy_rules(self): pyhtzee = Pyhtzee(rule=Rule.YATZY) pyhtzee.dice = [6, 6, 6, 6, 6] pyhtzee.take_action(category_to_action_map[Category.YAHTZEE]) pyhtzee.dice = [1, 1, 1, 1, 1] pyhtzee.take_action(category_to_action_map[Category.ACES]) pyhtzee.dice = [2, 2, 2, 2, 2] pyhtzee.take_action(category_to_action_map[Category.TWOS]) pyhtzee.dice = [3, 3, 3, 3, 3] pyhtzee.take_action(category_to_action_map[Category.THREES]) pyhtzee.dice = [4, 4, 4, 4, 4] pyhtzee.take_action(category_to_action_map[Category.FOURS]) pyhtzee.dice = [5, 5, 5, 5, 5] pyhtzee.take_action(category_to_action_map[Category.FIVES]) pyhtzee.dice = [6, 6, 6, 6, 6] pyhtzee.take_action(category_to_action_map[Category.SIXES]) pyhtzee.dice = [6, 6, 6, 6, 6] pyhtzee.take_action(category_to_action_map[Category.THREE_OF_A_KIND]) pyhtzee.dice = [6, 6, 6, 6, 6] pyhtzee.take_action(category_to_action_map[Category.FOUR_OF_A_KIND]) pyhtzee.dice = [6, 6, 6, 5, 5] pyhtzee.take_action(category_to_action_map[Category.FULL_HOUSE]) pyhtzee.dice = [6, 6, 6, 6, 6] pyhtzee.take_action(category_to_action_map[Category.SMALL_STRAIGHT]) pyhtzee.dice = [6, 6, 6, 6, 6] pyhtzee.take_action(category_to_action_map[Category.LARGE_STRAIGHT]) pyhtzee.dice = [6, 6, 6, 6, 6] pyhtzee.take_action(category_to_action_map[Category.CHANCE]) self.assertEqual(pyhtzee.get_total_score(), 305) self.assertTrue(pyhtzee.is_finished())