From a30458139003a9dd23f0f459f0d63f7c3cb3a119 Mon Sep 17 00:00:00 2001 From: SashoStoichkov Date: Mon, 30 Dec 2019 15:30:32 +0200 Subject: [PATCH 1/2] Add more tests for homework 2 --- homework_2/test_tic_tac_toe.py | 218 +++++++++++++++++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 homework_2/test_tic_tac_toe.py diff --git a/homework_2/test_tic_tac_toe.py b/homework_2/test_tic_tac_toe.py new file mode 100644 index 0000000..452fce0 --- /dev/null +++ b/homework_2/test_tic_tac_toe.py @@ -0,0 +1,218 @@ +import unittest +from tic_tac_toe import TicTacToeBoard + + +class TestTicTacToe(unittest.TestCase): + + def setUp(self): + self.board = TicTacToeBoard() + + # # column tests + def test_left_column_with_x_win(self): + self.board["A1"] = "X" + self.board["B2"] = "O" + self.board["A2"] = "X" + self.board["B3"] = "O" + self.board["A3"] = "X" + + self.assertEqual("X wins!", self.board.game_status()) + + def test_middle_column_with_x_win(self): + self.board["B1"] = "X" + self.board["A1"] = "O" + self.board["B2"] = "X" + self.board["A2"] = "O" + self.board["B3"] = "X" + + self.assertEqual("X wins!", self.board.game_status()) + + def test_right_column_with_x_win(self): + self.board["C1"] = "X" + self.board["A1"] = "O" + self.board["C2"] = "X" + self.board["B2"] = "O" + self.board["C3"] = "X" + + self.assertEqual("X wins!", self.board.game_status()) + + # # row tests + def test_low_row_with_x_win(self): + self.board["A1"] = "X" + self.board["A3"] = "O" + self.board["B1"] = "X" + self.board["B2"] = "O" + self.board["C1"] = "X" + + self.assertEqual("X wins!", self.board.game_status()) + + def test_middle_row_with_x_win(self): + self.board["A2"] = "X" + self.board["A1"] = "O" + self.board["B2"] = "X" + self.board["B3"] = "O" + self.board["C2"] = "X" + + self.assertEqual("X wins!", self.board.game_status()) + + def test_top_row_with_x_win(self): + self.board["A3"] = "X" + self.board["A2"] = "O" + self.board["B3"] = "X" + self.board["B2"] = "O" + self.board["C3"] = "X" + + self.assertEqual("X wins!", self.board.game_status()) + + # # diagonal tests + def test_main_diagonal_with_x_win(self): + self.board["A1"] = "X" + self.board["A2"] = "O" + self.board["B2"] = "X" + self.board["B3"] = "O" + self.board["C3"] = "X" + + self.assertEqual("X wins!", self.board.game_status()) + + def test_main_diagonal_with_x_win(self): + self.board["C1"] = "X" + self.board["A2"] = "O" + self.board["B2"] = "X" + self.board["B3"] = "O" + self.board["A3"] = "X" + + self.assertEqual("X wins!", self.board.game_status()) + + # # column tests + def test_left_column_with_o_win(self): + self.board["A1"] = "O" + self.board["B1"] = "X" + self.board["A2"] = "O" + self.board["B2"] = "X" + self.board["A3"] = "O" + + self.assertEqual("O wins!", self.board.game_status()) + + def test_middle_column_with_o_win(self): + self.board["B1"] = "O" + self.board["A1"] = "X" + self.board["B2"] = "O" + self.board["A2"] = "X" + self.board["B3"] = "O" + + self.assertEqual("O wins!", self.board.game_status()) + + def test_right_column_with_o_win(self): + self.board["C1"] = "O" + self.board["A1"] = "X" + self.board["C2"] = "O" + self.board["A3"] = "X" + self.board["C3"] = "O" + + self.assertEqual("O wins!", self.board.game_status()) + + # # row tests + def test_low_row_with_o_win(self): + self.board["A1"] = "O" + self.board["B2"] = "X" + self.board["B1"] = "O" + self.board["C2"] = "X" + self.board["C1"] = "O" + + self.assertEqual("O wins!", self.board.game_status()) + + def test_middle_row_with_o_win(self): + self.board["A2"] = "O" + self.board["A1"] = "X" + self.board["B2"] = "O" + self.board["C3"] = "X" + self.board["C2"] = "O" + + self.assertEqual("O wins!", self.board.game_status()) + + def test_top_row_with_o_win(self): + self.board["A3"] = "O" + self.board["A1"] = "X" + self.board["B3"] = "O" + self.board["B2"] = "X" + self.board["C3"] = "O" + + self.assertEqual("O wins!", self.board.game_status()) + + # # diagonal tests + def test_main_diagonal_with_o_win(self): + self.board["A1"] = "O" + self.board["A2"] = "X" + self.board["B2"] = "O" + self.board["B3"] = "X" + self.board["C3"] = "O" + + self.assertEqual("O wins!", self.board.game_status()) + + def test_main_diagonal_with_o_win(self): + self.board["C1"] = "O" + self.board["A2"] = "X" + self.board["B2"] = "O" + self.board["B3"] = "X" + self.board["A3"] = "O" + + self.assertEqual("O wins!", self.board.game_status()) + + def test_draw(self): + self.board["B1"] = "O" + self.board["A1"] = "X" + self.board["A2"] = "O" + self.board["B2"] = "X" + self.board["C3"] = "O" + self.board["C2"] = "X" + self.board["A3"] = "O" + self.board["B3"] = "X" + self.board["C1"] = "O" + + self.assertEqual("Draw!", self.board.game_status()) + + def test_game_in_progress(self): + self.board["A1"] = "X" + self.board["A2"] = "O" + + self.assertEqual("Game in progress.", self.board.game_status()) + + # test __str__() method + def test_print_empty_board(self): + + board_string = "\n -------------\n\ +3 | | | |\n\ + -------------\n\ +2 | | | |\n\ + -------------\n\ +1 | | | |\n\ + -------------\n\ + A B C \n" + + self.assertEqual(board_string, self.board.__str__()) + + def test_print_full_board(self): + + self.board["B1"] = "O" + self.board["A1"] = "X" + self.board["A2"] = "O" + self.board["B2"] = "X" + self.board["C3"] = "O" + self.board["C2"] = "X" + self.board["A3"] = "O" + self.board["B3"] = "X" + self.board["C1"] = "O" + + board_string = "\n -------------\n\ +3 | O | X | O |\n\ + -------------\n\ +2 | O | X | X |\n\ + -------------\n\ +1 | X | O | O |\n\ + -------------\n\ + A B C \n" + + self.assertEqual(board_string, self.board.__str__()) + + +if __name__ == "__main__": + unittest.main() From f0046e0e71edfd00afa314852dc62a72c88d24d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=8A?= =?UTF-8?q?=D1=80=20=D0=A1=D1=82=D0=BE=D0=B8=D1=87=D0=BA=D0=BE=D0=B2?= Date: Tue, 7 Jan 2020 17:50:35 +0200 Subject: [PATCH 2/2] Delete test_tic_tac_toe.py --- homework_2/test_tic_tac_toe.py | 218 --------------------------------- 1 file changed, 218 deletions(-) delete mode 100644 homework_2/test_tic_tac_toe.py diff --git a/homework_2/test_tic_tac_toe.py b/homework_2/test_tic_tac_toe.py deleted file mode 100644 index 452fce0..0000000 --- a/homework_2/test_tic_tac_toe.py +++ /dev/null @@ -1,218 +0,0 @@ -import unittest -from tic_tac_toe import TicTacToeBoard - - -class TestTicTacToe(unittest.TestCase): - - def setUp(self): - self.board = TicTacToeBoard() - - # # column tests - def test_left_column_with_x_win(self): - self.board["A1"] = "X" - self.board["B2"] = "O" - self.board["A2"] = "X" - self.board["B3"] = "O" - self.board["A3"] = "X" - - self.assertEqual("X wins!", self.board.game_status()) - - def test_middle_column_with_x_win(self): - self.board["B1"] = "X" - self.board["A1"] = "O" - self.board["B2"] = "X" - self.board["A2"] = "O" - self.board["B3"] = "X" - - self.assertEqual("X wins!", self.board.game_status()) - - def test_right_column_with_x_win(self): - self.board["C1"] = "X" - self.board["A1"] = "O" - self.board["C2"] = "X" - self.board["B2"] = "O" - self.board["C3"] = "X" - - self.assertEqual("X wins!", self.board.game_status()) - - # # row tests - def test_low_row_with_x_win(self): - self.board["A1"] = "X" - self.board["A3"] = "O" - self.board["B1"] = "X" - self.board["B2"] = "O" - self.board["C1"] = "X" - - self.assertEqual("X wins!", self.board.game_status()) - - def test_middle_row_with_x_win(self): - self.board["A2"] = "X" - self.board["A1"] = "O" - self.board["B2"] = "X" - self.board["B3"] = "O" - self.board["C2"] = "X" - - self.assertEqual("X wins!", self.board.game_status()) - - def test_top_row_with_x_win(self): - self.board["A3"] = "X" - self.board["A2"] = "O" - self.board["B3"] = "X" - self.board["B2"] = "O" - self.board["C3"] = "X" - - self.assertEqual("X wins!", self.board.game_status()) - - # # diagonal tests - def test_main_diagonal_with_x_win(self): - self.board["A1"] = "X" - self.board["A2"] = "O" - self.board["B2"] = "X" - self.board["B3"] = "O" - self.board["C3"] = "X" - - self.assertEqual("X wins!", self.board.game_status()) - - def test_main_diagonal_with_x_win(self): - self.board["C1"] = "X" - self.board["A2"] = "O" - self.board["B2"] = "X" - self.board["B3"] = "O" - self.board["A3"] = "X" - - self.assertEqual("X wins!", self.board.game_status()) - - # # column tests - def test_left_column_with_o_win(self): - self.board["A1"] = "O" - self.board["B1"] = "X" - self.board["A2"] = "O" - self.board["B2"] = "X" - self.board["A3"] = "O" - - self.assertEqual("O wins!", self.board.game_status()) - - def test_middle_column_with_o_win(self): - self.board["B1"] = "O" - self.board["A1"] = "X" - self.board["B2"] = "O" - self.board["A2"] = "X" - self.board["B3"] = "O" - - self.assertEqual("O wins!", self.board.game_status()) - - def test_right_column_with_o_win(self): - self.board["C1"] = "O" - self.board["A1"] = "X" - self.board["C2"] = "O" - self.board["A3"] = "X" - self.board["C3"] = "O" - - self.assertEqual("O wins!", self.board.game_status()) - - # # row tests - def test_low_row_with_o_win(self): - self.board["A1"] = "O" - self.board["B2"] = "X" - self.board["B1"] = "O" - self.board["C2"] = "X" - self.board["C1"] = "O" - - self.assertEqual("O wins!", self.board.game_status()) - - def test_middle_row_with_o_win(self): - self.board["A2"] = "O" - self.board["A1"] = "X" - self.board["B2"] = "O" - self.board["C3"] = "X" - self.board["C2"] = "O" - - self.assertEqual("O wins!", self.board.game_status()) - - def test_top_row_with_o_win(self): - self.board["A3"] = "O" - self.board["A1"] = "X" - self.board["B3"] = "O" - self.board["B2"] = "X" - self.board["C3"] = "O" - - self.assertEqual("O wins!", self.board.game_status()) - - # # diagonal tests - def test_main_diagonal_with_o_win(self): - self.board["A1"] = "O" - self.board["A2"] = "X" - self.board["B2"] = "O" - self.board["B3"] = "X" - self.board["C3"] = "O" - - self.assertEqual("O wins!", self.board.game_status()) - - def test_main_diagonal_with_o_win(self): - self.board["C1"] = "O" - self.board["A2"] = "X" - self.board["B2"] = "O" - self.board["B3"] = "X" - self.board["A3"] = "O" - - self.assertEqual("O wins!", self.board.game_status()) - - def test_draw(self): - self.board["B1"] = "O" - self.board["A1"] = "X" - self.board["A2"] = "O" - self.board["B2"] = "X" - self.board["C3"] = "O" - self.board["C2"] = "X" - self.board["A3"] = "O" - self.board["B3"] = "X" - self.board["C1"] = "O" - - self.assertEqual("Draw!", self.board.game_status()) - - def test_game_in_progress(self): - self.board["A1"] = "X" - self.board["A2"] = "O" - - self.assertEqual("Game in progress.", self.board.game_status()) - - # test __str__() method - def test_print_empty_board(self): - - board_string = "\n -------------\n\ -3 | | | |\n\ - -------------\n\ -2 | | | |\n\ - -------------\n\ -1 | | | |\n\ - -------------\n\ - A B C \n" - - self.assertEqual(board_string, self.board.__str__()) - - def test_print_full_board(self): - - self.board["B1"] = "O" - self.board["A1"] = "X" - self.board["A2"] = "O" - self.board["B2"] = "X" - self.board["C3"] = "O" - self.board["C2"] = "X" - self.board["A3"] = "O" - self.board["B3"] = "X" - self.board["C1"] = "O" - - board_string = "\n -------------\n\ -3 | O | X | O |\n\ - -------------\n\ -2 | O | X | X |\n\ - -------------\n\ -1 | X | O | O |\n\ - -------------\n\ - A B C \n" - - self.assertEqual(board_string, self.board.__str__()) - - -if __name__ == "__main__": - unittest.main()