def test_simple_spare(): game = Game() game.add(3) game.add(7) game.add(3) assert game.score_for_frame(1) == 13 assert game.current_frame == 2
def test_tenth_frame_spare(): game = Game() for _ in range(9): game.add(10) game.add(9) game.add(1) game.add(1) assert game.score == 270
def test_simple_strike(): game = Game() game.add(10) game.add(3) game.add(6) assert game.score_for_frame(1) == 19 assert game.score_for_frame(2) == 28 assert game.current_frame == 3
def test_end_of_array(): game = Game() for _ in range(9): game.add(0) game.add(0) game.add(2) game.add(8) game.add(10) assert game.score == 20
def test_four_throws_no_mark(): game = Game() game.add(5) game.add(4) game.add(7) game.add(2) assert game.score == 18 assert game.score_for_frame(1) == 9 assert game.score_for_frame(2) == 18 assert game.current_frame == 3
def test_sample_game(): game = Game() game.add(1) game.add(4) game.add(4) game.add(5) game.add(6) game.add(4) game.add(5) game.add(5) game.add(10) game.add(0) game.add(1) game.add(7) game.add(3) game.add(6) game.add(4) game.add(10) game.add(2) game.add(8) game.add(6) assert game.score == 133
def test_always_normal(self): game = Game("12345123451234512345") self.assertEqual(game.score(), 60)
def test_functional_strike(self): game = Game(game_result='X') result = game.calculate_result() self.assertEqual(result, 20, 'Не верно рассчитываются очки за страйк !')
def test_functional_game_calc(self): game = Game(game_result='X4/34--') result = game.calculate_result() self.assertEqual(result, 42, 'Не верно производятся расчеты партии !')
def test_heart_break(): game = Game() for _ in range(11): game.add(10) game.add(9) assert game.score == 299
def test_two_throws_no_mark(): game = Game() game.add(5) game.add(4) assert game.score == 9 assert game.current_frame == 2
def test_check_func_strike_error(self): with self.assertRaises(StrikeError): game = Game(game_result='2X') result = game.calculate_result()
def test_gutter_game(self): game = Game(roll_many("-", 20)) self.assertEqual(game.score(), 0)
def game(): return Game()
def setUp(self): self.game = Game()
def test_check_func_atr_error(self): with self.assertRaises(AttributeError): game = Game(game_result='') result = game.calculate_result()
def test_functional_spare(self): game = Game(game_result='4/') result = game.calculate_result() self.assertEqual(result, 15, 'Не верно рассчитываются очки за спайр !')
def test_strike(self): game = Game("X34" + roll_many("-", 16)) self.assertEqual(game.score(), 24)
def test_spare(self): game = Game("4/34" + roll_many("-", 16)) self.assertEqual(game.score(), 20)
def setUp(self): """ Pretty much every single test is going to require a game, so we set one up by default.""" self.game = Game()
def test_functional_2_hit(self): game = Game(game_result='12') result = game.calculate_result() self.assertEqual( result, 3, 'Не верно рассчитываются очки за 2 попадания 2 бросками !')
def test_functional_2_miss(self): game = Game(game_result='--') result = game.calculate_result() self.assertEqual(result, 0, 'Не верно рассчитываются очки за 2 миса !')
def test_perfect_game(): game = Game() for _ in range(12): game.add(10) assert game.score == 300 assert game.current_frame == 11
def test_perfect_game(self): game = Game("XXXXXXXXXXXX") self.assertEqual(game.score(), 300)
def test_heartbreak_game(self): game = Game("9-9-9-9-9-9-9-9-9-9-") self.assertEqual(game.score(), 90)
def test_spare_game(self): game = Game("5/5/5/5/5/5/5/5/5/5/5") self.assertEqual(game.score(), 150)
def __setup(self): self.g = Game()
def test_all_ones(self): game = Game(roll_many("1", 20)) self.assertEqual(game.score(), 20)
def setUp(self): self.g = Game()
def test_check_func_spare_error(self): with self.assertRaises(SpareError): game = Game(game_result='/1') result = game.calculate_result()