Example #1
0
    def test_check_diagonals_should_return_none_if_diagonal_is_incomplete(self):
        game = TicTacToe([
            'X...',
            '.X..',
            '..X.',
            '....',
        ])
        self.assertIsNone(game.check_diagonals())

        game = TicTacToe([
            '...X',
            '..X.',
            '.X..',
            '....',
        ])
        self.assertIsNone(game.check_diagonals())
Example #2
0
    def test_check_diagonals_should_return_winner_if_diagonal_is_complete(self):
        game = TicTacToe([
            'X...',
            '.X..',
            '..X.',
            '...X',
        ])
        self.assertEqual('X', game.check_diagonals())

        game = TicTacToe([
            '...O',
            '..O.',
            '.O..',
            'O...',
        ])
        self.assertEqual('O', game.check_diagonals())
Example #3
0
class TicTacToeComprehensiveTestCase(TestCase):
    def setUp(self):
        self.game = TicTacToe([
            'XOXOXO',
            'O..O.X',
            '.XXO..',
            'OOXO.O',
            'X.XO.X',
            '..XOX.',
        ])

    def test_board_should_be_correct(self):
        self.assertTrue(self.game.is_correct())

    def test_should_not_detect_complete_row(self):
        self.assertIsNone(self.game.check_rows())

    def test_should_not_detect_complete_diagonal(self):
        self.assertIsNone(self.game.check_diagonals())

    def test_should_detect_complete_column(self):
        self.assertEqual('O', self.game.check_columns())

    def test_should_return_winner_based_on_complete_column(self):
        self.assertEqual('O', self.game.result())