Esempio n. 1
0
    def test_display_game(self, mock_print):
        """Test that the output of display game matches history."""
        mm = MasterMind(8)
        mm.secret = 'ywwr'
        guess_1 = Guess('rbwr')
        mm.guesses.append(guess_1)
        mm.evaluate_guess()
        guess_2 = Guess('wwrr')
        mm.guesses.append(guess_2)
        mm.evaluate_guess()
        guess_3 = Guess('ywrr')
        mm.guesses.append(guess_3)
        mm.evaluate_guess()

        mm.display_game()

        self.assertEqual(5, mock_print.call_count)
        expected = [
            call('------------------------'),
            call(guess_1),
            call(guess_2),
            call(guess_3),
            call('------------------------'),
        ]
        mock_print.assert_has_calls(expected)
Esempio n. 2
0
    def test_evaluate_guess_0_0(self):
        """Test no matches at all."""
        guess = Guess('rgby')
        mm = MasterMind(8)
        mm.secret = 'Gmcw'
        mm.guesses.append(guess)

        mm.evaluate_guess()

        self.assertEqual(0, mm.guesses[0].black)
        self.assertEqual(0, mm.guesses[0].white)
Esempio n. 3
0
    def test_evaluate_double_color_guess(self):
        """Test that a double color in the guess only counts once."""
        guess = Guess('rbwr')
        mm = MasterMind(8)
        mm.secret = 'grgy'
        mm.guesses.append(guess)

        mm.evaluate_guess()

        self.assertEqual(1, mm.guesses[0].black)
        self.assertEqual(0, mm.guesses[0].white)
Esempio n. 4
0
    def test_evaluate_guess_4_0(self):
        """Test 4 matches in wrong spots."""
        guess = Guess('rgby')
        mm = MasterMind(8)
        mm.secret = 'gbyr'
        mm.guesses.append(guess)

        mm.evaluate_guess()

        self.assertEqual(4, mm.guesses[0].black)
        self.assertEqual(0, mm.guesses[0].white)
Esempio n. 5
0
    def test_evaluate_double_color_guess(self):
        """Test that a double color in the guess only counts once."""
        guess = Guess('rbwr')
        mm = MasterMind(8)
        mm.secret = 'grgy'
        mm.guesses.append(guess)

        mm.evaluate_guess()

        self.assertEqual(1, mm.guesses[0].black)
        self.assertEqual(0, mm.guesses[0].white)
Esempio n. 6
0
    def test_evaluate_guess_4_0(self):
        """Test 4 matches in wrong spots."""
        guess = Guess('rgby')
        mm = MasterMind(8)
        mm.secret = 'gbyr'
        mm.guesses.append(guess)

        mm.evaluate_guess()

        self.assertEqual(4, mm.guesses[0].black)
        self.assertEqual(0, mm.guesses[0].white)
Esempio n. 7
0
    def test_evaluate_guess_0_0(self):
        """Test no matches at all."""
        guess = Guess('rgby')
        mm = MasterMind(8)
        mm.secret = 'Gmcw'
        mm.guesses.append(guess)

        mm.evaluate_guess()

        self.assertEqual(0, mm.guesses[0].black)
        self.assertEqual(0, mm.guesses[0].white)
Esempio n. 8
0
    def test_evaluate_guess_win(self):
        """Test 4 matches in wrong spots."""
        guess = Guess('rgby')
        mm = MasterMind(8)
        mm.secret = 'rgby'
        mm.guesses.append(guess)
        mm.display_game_over = MagicMock()

        mm.evaluate_guess()

        self.assertTrue(mm.game_over)
        self.assertTrue(mm.winner)
Esempio n. 9
0
    def test_evaluate_guess_win(self):
        """Test 4 matches in wrong spots."""
        guess = Guess('rgby')
        mm = MasterMind(8)
        mm.secret = 'rgby'
        mm.guesses.append(guess)
        mm.display_game_over = MagicMock()

        mm.evaluate_guess()

        self.assertTrue(mm.game_over)
        self.assertTrue(mm.winner)
Esempio n. 10
0
    def test_display_game(self, mock_print):
        """Test that the output of display game matches history."""
        mm = MasterMind(8)
        mm.secret = 'ywwr'
        guess_1 = Guess('rbwr')
        mm.guesses.append(guess_1)
        mm.evaluate_guess()
        guess_2 = Guess('wwrr')
        mm.guesses.append(guess_2)
        mm.evaluate_guess()
        guess_3 = Guess('ywrr')
        mm.guesses.append(guess_3)
        mm.evaluate_guess()

        mm.display_game()

        self.assertEqual(5, mock_print.call_count)
        expected = [call('------------------------'),
                    call(guess_1),
                    call(guess_2),
                    call(guess_3),
                    call('------------------------'),
                    ]
        mock_print.assert_has_calls(expected)