class BowlingGameTest(unittest.TestCase): def setUp(self): self.game = Game() self.number_of_plays = 20 def test_if_game_and_score_exists(self): pins = 0 score = self._roll_many(self.number_of_plays, pins) self.assertEqual(0, score) def test_counting_score(self): pins = 1 score = self._roll_many(self.number_of_plays, pins) self.assertEqual(20, score) def test_one_spare(self): self.game.roll(5) self.game.roll(5) self.game.roll(3) self._roll_many(17, 0) self.assertEqual(16, self.game.score()) def test_one_strike(self): self.game.roll(10) self.game.roll(3) self.game.roll(4) self._roll_many(16, 0) self.assertEqual(24, self.game.score()) def _roll_many(self, number_of_plays, pins): for play in range(self.number_of_plays): self.game.roll(pins) return self.game.score()
class BowlingGameTest(unittest.TestCase): def setUp(self): self.game = Game() def __RollMany(self, n, pins): for i in range(n): self.game.roll(pins) def test_GutterGame(self): self.__RollMany(20, 0) self.assertEquals(0, self.game.score()) def test_AllOnes(self): self.__RollMany(20, 1) self.assertEquals(20, self.game.score()) def test_OneSpare(self): self.__RollSpare() self.game.roll(3) self.__RollMany(17, 0) self.assertEquals(16, self.game.score()) def test_PerfectionGame(self): self.__RollMany(12, 10) self.assertEquals(300, self.game.score()) def test_OneStrike(self): self.__RollStrike() self.game.roll(3) self.game.roll(4) self.__RollMany(16, 0) self.assertEquals(24, self.game.score()) def __RollStrike(self): self.game.roll(10) def __RollSpare(self): self.game.roll(5) self.game.roll(5)
class TestBowlingGame(unittest.TestCase): def setUp(self): self.game = Game() def throw_spare(self): self.game.roll(5) self.game.roll(5) def throw_strike(self): self.game.roll(10) self.game.roll(None)
class BowlingGameTest(unittest.TestCase): def setUp(self): self.g = Game() def roll(self, rolls): for pins in rolls: self.g.roll(pins) def roll_spare(self): self.g.roll(5) self.g.roll(5) def roll_strike(self): self.g.roll(10) def test_gutter_game(self): rolls = 20 pins = 0 self.roll([pins] * rolls) self.assertEqual(self.g.score(), 0) def test_all_ones(self): rolls = 20 pins = 1 self.roll([pins] * rolls) self.assertEqual(self.g.score(), 20) def test_one_spare(self): self.roll_spare() self.roll([3] + [0] * 17) self.assertEqual(self.g.score(), 16) def test_one_strike(self): self.roll_strike() self.roll([3,4] + [0] * 16) self.assertEqual(self.g.score(), 24) def test_perfect_game(self): self.roll([10] * 12) self.assertEqual(self.g.score(), 300)
class BowlingGameTest(unittest.TestCase): def setUp(self): self.game = Game() def roll_many(self, rolls, pins): for i in range(rolls): self.game.roll(pins) def roll_spare(self): first_roll = random.randint(0, 9) self.game.roll(first_roll) self.game.roll(10 - first_roll) def roll_strike(self): self.game.roll(10) def test_gutter_game(self): self.roll_many(rolls=20, pins=0) self.assertEqual(self.game.score(), 0) def test_all_ones(self): self.roll_many(rolls=20, pins=1) self.assertEqual(self.game.score(), 20) def test_one_spare(self): self.roll_spare() self.game.roll(3) self.roll_many(17, 0) self.assertEqual(self.game.score(), 16) def test_one_strike(self): self.roll_strike() self.game.roll(3) self.game.roll(4) self.roll_many(16, 0) self.assertEqual(self.game.score(), 24) def test_perfect_game(self): self.roll_many(rolls=12, pins=10) self.assertEqual(self.game.score(), 300) def test_frame_done(self): self.game.current_frame = [0, 0] self.assertTrue(self.game._frame_done()) self.game.current_frame = [0, 10] self.assertTrue(self.game._frame_done()) self.game.current_frame = [0] self.assertFalse(self.game._frame_done()) self.game.current_frame = [1, 2] self.assertTrue(self.game._frame_done()) self.game.current_frame = [10] self.assertTrue(self.game._frame_done())
class GameTests(unittest.TestCase): game = Game() def setUp(self): self.game = Game() def test_game_not_null(self): self.assertIsNotNone(self.game) def test_can_bowl_gutter_game(self): self.rollMany(20, 0) score = self.game.score() self.assertEqual(score, 0) def test_can_bowl_all_ones(self): self.rollMany(20, 1) score = self.game.score() self.assertEqual(score, 20) def test_can_bowl_spare(self): self.game.roll(5) self.game.roll(5) self.game.roll(2) self.game.roll(2) self.rollMany(16, 0) score = self.game.score() self.assertEqual(score, 16) def test_can_bowl_strike(self): self.game.roll(10) self.game.roll(5) self.game.roll(2) self.game.roll(2) self.rollMany(15, 0) score = self.game.score() self.assertEqual(score, 26) def test_can_bowl_perfect_game(self): self.rollMany(12, 10) score = self.game.score() self.assertEqual(score, 300) def rollMany(self, times, pins): for roll in range(0, times): self.game.roll(pins)
class GameTests(unittest.TestCase): game = Game() def setUp(self): self.game = Game() def test_game_not_null(self): self.assertIsNotNone(self.game) def test_can_bowl_gutter_game(self): self.rollMany(20, 0) score = self.game.score() self.assertEqual(score, 0) def test_can_bowl_all_ones(self): self.rollMany(20, 1) score = self.game.score() self.assertEqual(score, 20) def test_can_bowl_spare(self): self.game.roll(5) self.game.roll(5) self.game.roll(2) self.game.roll(2) self.rollMany(16, 0) score = self.game.score() self.assertEqual(score, 16) def test_can_bowl_strike(self): self.game.roll(10) self.game.roll(5) self.game.roll(2) self.game.roll(2) self.rollMany(15, 0) score = self.game.score() self.assertEqual(score, 26) def test_can_bowl_perfect_game(self): self.rollMany(12, 10) score = self.game.score() self.assertEqual(score, 300) def rollMany(self, times, pins): for roll in range (0, times): self.game.roll(pins)