Exemplo n.º 1
0
    def test_with_given_tenth_frame_triple_stike_should_return_30(self):
        frame = Frame((10, 10, 10))

        result = frame.calculate_value()
        expected = 30

        self.assertEqual(result, expected)
Exemplo n.º 2
0
    def test_with_given_tenth_frame_spare_and_strike_should_return_20(self):
        frame = Frame((9, 1, 10))

        result = frame.calculate_value()
        expected = 20

        self.assertEqual(result, expected)
Exemplo n.º 3
0
    def test_with_given_open_frame_should_return_correct_value(self):
        frame = Frame((0, 9))

        result = frame.calculate_value()
        expected = 9

        self.assertEqual(result, expected)
Exemplo n.º 4
0
    def test_with_given_spare_should_return_10(self):
        frame = Frame((9, 1))

        result = frame.calculate_value()
        expected = 10

        self.assertEqual(result, expected)
Exemplo n.º 5
0
    def test_with_given_spare_should_create_instance(self):
        shots = (1, 9)

        frame = Frame(shots)
        expected_shots = shots

        self.assertEqual(type(frame), Frame)
        self.assertEqual(frame.get_shots(), expected_shots)
Exemplo n.º 6
0
    def test_with_given_tenth_frame_non_stike_and_non_spare_should_return_correct_value(
            self):
        frame = Frame((2, 0))

        result = frame.calculate_value()
        expected = 2

        self.assertEqual(result, expected)
Exemplo n.º 7
0
    def test_with_given_tenth_frame_double_stike_and_non_strike_should_return_correct_value(
            self):
        frame = Frame((10, 10, 9))

        result = frame.calculate_value()
        expected = 29

        self.assertEqual(result, expected)
Exemplo n.º 8
0
    def test_with_given_10_frames_and_tenth_is_with_two_shots_and_stike_in_them_should_return_false(
            self):
        frames = [
            Frame((1, 4)),
            Frame((4, 5)),
            Frame((6, 3)),
            Frame((5, 1)),
            Frame((1, 0)),
            Frame((1, 7)),
            Frame((3, 6)),
            Frame((4, 3)),
            Frame((2, 1)),
            Frame((10, 2))
        ]

        result = BowlingGame.validate_frames(frames)

        self.assertEqual(result, False)
Exemplo n.º 9
0
    def test_with_given_10_frames_but_tenth_is_with_one_shot_should_return_false(
            self):
        frames = [
            Frame((1, 4)),
            Frame((4, 5)),
            Frame((6, 3)),
            Frame((5, 1)),
            Frame((1, 0)),
            Frame((1, 7)),
            Frame((3, 6)),
            Frame((4, 3)),
            Frame((2, 1)),
            Frame((1, ))
        ]

        result = BowlingGame.validate_frames(frames)

        self.assertEqual(result, False)
Exemplo n.º 10
0
    def test_with_given_10_frames_and_tenth_is_with_three_shots_and_a_spare_in_them_should_return_true(
            self):
        frames = [
            Frame((1, 4)),
            Frame((4, 5)),
            Frame((6, 3)),
            Frame((5, 1)),
            Frame((1, 0)),
            Frame((1, 7)),
            Frame((3, 6)),
            Frame((4, 3)),
            Frame((2, 1)),
            Frame((1, 9, 10))
        ]

        result = BowlingGame.validate_frames(frames)

        self.assertEqual(result, True)
Exemplo n.º 11
0
    def test_with_given_game_should_return_correct_frames_list(self):
        total_shots = [
            1, 4, 4, 5, 6, 3, 5, 1, 1, 0, 1, 7, 3, 6, 4, 3, 2, 1, 6, 2
        ]

        frames = BowlingGame.find_frames(total_shots)
        expected = [
            Frame((1, 4)),
            Frame((4, 5)),
            Frame((6, 3)),
            Frame((5, 1)),
            Frame((1, 0)),
            Frame((1, 7)),
            Frame((3, 6)),
            Frame((4, 3)),
            Frame((2, 1)),
            Frame((6, 2))
        ]

        self.assertEqual(frames, expected)
Exemplo n.º 12
0
    def test_with_given_correct_game_should_create_instance(self):
        total_shots = [
            1, 4, 4, 5, 6, 3, 5, 1, 1, 0, 1, 7, 3, 6, 4, 3, 2, 1, 6, 2
        ]
        frames_expected = [
            Frame((1, 4)),
            Frame((4, 5)),
            Frame((6, 3)),
            Frame((5, 1)),
            Frame((1, 0)),
            Frame((1, 7)),
            Frame((3, 6)),
            Frame((4, 3)),
            Frame((2, 1)),
            Frame((6, 2))
        ]

        game = BowlingGame(total_shots)

        self.assertEqual(type(game), BowlingGame)
        self.assertEqual(game.get_frames(), frames_expected)
Exemplo n.º 13
0
    def test_with_given_tenth_frame_should_return_false(self):
        frame = Frame((9, 1, 10))

        result = frame.is_spare()

        self.assertEqual(result, False)
Exemplo n.º 14
0
    def test_with_given_strike_should_return_false(self):
        frame = Frame((10, ))

        result = frame.is_spare()

        self.assertEqual(result, False)
Exemplo n.º 15
0
    def test_with_given_spare_should_return_true(self):
        frame = Frame((9, 1))

        result = frame.is_spare()

        self.assertEqual(result, True)
Exemplo n.º 16
0
    def test_with_given_strike_should_return_true(self):
        frame = Frame((10, ))

        result = frame.is_strike()

        self.assertEqual(result, True)