コード例 #1
0
ファイル: tests.py プロジェクト: imtapps/September-Kata
    def test_adds_new_frame_on_throw_when_active_frame_is_complete(self):
        active_frame = Frame(1)
        active_frame.rolls = [1,2]
        self.game.frames = [active_frame]
        self.game.active_frame = active_frame

        self.game.throw(5)
        new_frame = self.game.frames[-1]

        self.assertEqual(2, len(self.game.frames))
        self.assertEqual([5], new_frame.rolls)
        self.assertEqual(new_frame, self.game.active_frame)
コード例 #2
0
ファイル: tests.py プロジェクト: imtapps/September-Kata
 def setUp(self):
     self.frame = Frame(1)
コード例 #3
0
ファイル: tests.py プロジェクト: imtapps/September-Kata
class FrameTests(TestCase):

    def setUp(self):
        self.frame = Frame(1)

    def test_starts_with_roll_count_of_zero(self):
        self.assertEqual(0, self.frame.roll_count)

    def test_starts_rolls_as_empty_list(self):
        self.assertEqual([], self.frame.rolls)

    def test_defaults_is_tenth_to_false(self):
        self.assertEqual(False, self.frame.is_tenth)

    def test_sets_is_tenth_to_value_passed_in(self):
        frame = Frame(10)
        self.assertEqual(True, frame.is_tenth)

    def test_roll_count_is_number_of_rolls(self):
        self.frame.rolls = [1, 2]
        self.assertEqual(2, self.frame.roll_count)

    def test_add_roll_adds_pins_to_frame_rolls(self):
        self.frame.rolls = [9]
        self.frame.add_roll(1)
        self.assertEqual([9, 1], self.frame.rolls)

    def test_is_strike_returns_true_when_first_ball_equals_ten(self):
        self.frame.add_roll(10)
        self.assertEqual(True, self.frame.is_strike)

    def test_is_strike_returns_false_when_first_ball_not_ten(self):
        self.frame.add_roll(1)
        self.assertEqual(False, self.frame.is_strike)

    def test_is_strike_returns_false_when_no_rolls(self):
        self.assertEqual(False, self.frame.is_strike)

    def test_is_spare_returns_false_when_no_rolls(self):
        self.assertEqual(False, self.frame.is_spare)

    def test_is_spare_returns_false_when_only_one_roll(self):
        self.frame.add_roll(1)
        self.assertEqual(False, self.frame.is_spare)

    def test_is_spare_returns_false_when_two_rolls_less_than_ten(self):
        self.frame.add_roll(1)
        self.frame.add_roll(8)
        self.assertEqual(False, self.frame.is_spare)

    def test_is_spare_returns_true_when_two_rolls_equal_ten(self):
        self.frame.add_roll(2)
        self.frame.add_roll(8)
        self.assertEqual(True, self.frame.is_spare)

    def test_is_not_complete_when_only_has_one_ball(self):
        self.frame.rolls =[1]
        self.assertEqual(False, self.frame.is_complete())

    def test_is_complete_when_is_strike(self):
        self.frame.add_roll(10)
        self.assertEqual(True, self.frame.is_complete())

    def test_is_complete_when_has_two_balls(self):
        self.frame.rolls =[1, 2]
        self.assertEqual(True, self.frame.is_complete())

    def test_is_complete_when_is_tenth_frame_and_has_three_balls(self):
        frame = Frame(10)
        frame.rolls = [1, 9, 10]
        self.assertEqual(True, frame.is_complete())

    def test_is_complete_when_is_tenth_and_has_two_balls_without_strike_or_spare(self):
        frame = Frame(10)
        frame.rolls = [1, 2]
        self.assertEqual(True, frame.is_complete())

    def test_is_not_complete_when_tenth_frame_and_one_ball_strike(self):
        frame = Frame(10)
        frame.rolls = [10]
        self.assertEqual(False, frame.is_complete())

    def test_is_not_complete_when_tenth_frame_and_two_ball_strike(self):
        frame = Frame(10)
        frame.rolls = [10, 2]
        self.assertEqual(False, frame.is_complete())

    def test_is_not_complete_when_tenth_frame_and_two_balls_spare(self):
        frame = Frame(10)
        frame.rolls = [1, 9]
        self.assertEqual(False, frame.is_complete())

    def test_is_not_complete_when_tenth_frame_and_only_one_ball(self):
        frame = Frame(10)
        frame.rolls = [1]
        self.assertEqual(False, frame.is_complete())

    def test_total_pins_return_sum_of_rolls(self):
        self.frame.rolls =[1, 2]
        self.assertEqual(3, self.frame.total_pins)
コード例 #4
0
ファイル: tests.py プロジェクト: imtapps/September-Kata
    def test_current_frame_returns_active_frame_plus_one_when_already_complete(self):
        active_frame = Frame(1)
        active_frame.rolls = [10]
        self.game.active_frame = active_frame

        self.assertEqual(2, self.game.current_frame)
コード例 #5
0
ファイル: tests.py プロジェクト: imtapps/September-Kata
    def test_current_frame_returns_active_frame_number_when_not_complete(self):
        active_frame = Frame(1)
        active_frame.rolls = [5]
        self.game.active_frame = active_frame

        self.assertEqual(1, self.game.current_frame)
コード例 #6
0
ファイル: tests.py プロジェクト: imtapps/September-Kata
 def test_game_does_not_have_more_throws_when_active_frame_is_tenth_and_is_complete(self):
     active_frame = Frame(10)
     active_frame.rolls = [10, 10, 10]
     self.game.active_frame = active_frame
     self.assertEqual(False, self.game.more_throws)
コード例 #7
0
ファイル: tests.py プロジェクト: imtapps/September-Kata
 def test_is_not_complete_when_tenth_frame_and_only_one_ball(self):
     frame = Frame(10)
     frame.rolls = [1]
     self.assertEqual(False, frame.is_complete())
コード例 #8
0
ファイル: tests.py プロジェクト: imtapps/September-Kata
 def test_is_not_complete_when_tenth_frame_and_two_balls_spare(self):
     frame = Frame(10)
     frame.rolls = [1, 9]
     self.assertEqual(False, frame.is_complete())
コード例 #9
0
ファイル: tests.py プロジェクト: imtapps/September-Kata
 def test_is_complete_when_is_tenth_and_has_two_balls_without_strike_or_spare(self):
     frame = Frame(10)
     frame.rolls = [1, 2]
     self.assertEqual(True, frame.is_complete())
コード例 #10
0
ファイル: tests.py プロジェクト: imtapps/September-Kata
 def test_is_complete_when_is_tenth_frame_and_has_three_balls(self):
     frame = Frame(10)
     frame.rolls = [1, 9, 10]
     self.assertEqual(True, frame.is_complete())