Beispiel #1
0
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)
 def setUp(self):
     self.game = Game()
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())
Beispiel #4
0
 def setUp(self):
     self.game = Game()
 def setUp(self):
     self.g = Game()
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)
Beispiel #7
0
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 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)
def game():
    return Game()
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())
 def setUp(self):
     self.game = Game()
     self.number_of_plays = 20
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 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)