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())
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())
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())