def test_play_no_winner_large(self):
     # [
     #     ["X", "O", "X", "O"],
     #     ["O", "O", "X", "O"],
     #     ["X", "X", "O", "X"],
     #     ["X", "X", "O", "O"],
     # ]
     move(self.game_large, self.x, position=(0, 0))
     move(self.game_large, self.o, position=(0, 1))
     move(self.game_large, self.x, position=(0, 2))
     move(self.game_large, self.o, position=(1, 0))
     move(self.game_large, self.x, position=(1, 2))
     move(self.game_large, self.o, position=(1, 1))
     move(self.game_large, self.x, position=(2, 0))
     move(self.game_large, self.o, position=(2, 2))
     move(self.game_large, self.x, position=(2, 3))
     move(self.game_large, self.o, position=(0, 3))
     move(self.game_large, self.x, position=(3, 1))
     move(self.game_large, self.o, position=(1, 3))
     move(self.game_large, self.x, position=(3, 0))
     move(self.game_large, self.o, position=(3, 3))
     move(self.game_large, self.x, position=(3, 2))
     with self.assertRaisesRegexp(GameOver, 'Game is tied!'):
         move(self.game_large, self.o, position=(2, 1))
     self.assertEqual(get_winner(self.game_large), None)
     self.assertTrue(_board_is_full(self.game_large['board']))
     with self.assertRaisesRegexp(InvalidMovement, 'Game is over.'):
         move(self.game_large, self.x, position=(0, 0))
示例#2
0
 def test_play_X_wins(self):
     # [
     #     ["X", "X", "X"],  <--- "X" wins
     #     ["O", "O", "-"],
     #     ["-", "-", "-"],
     # ]
     move(self.game, self.x, position=(0, 0))
     move(self.game, self.o, position=(1, 0))
     move(self.game, self.x, position=(0, 1))
     move(self.game, self.o, position=(1, 1))
     with self.assertRaisesRegexp(GameOver, '"X" wins!'):
         move(self.game, self.x, position=(0, 2))
     self.assertEqual(get_winner(self.game), self.x)
     with self.assertRaisesRegexp(InvalidMovement, 'Game is over'):
         move(self.game, self.o, position=(2, 2))
 def test_play_X_wins(self):
     # [
     #     ["X", "X", "X"],  <--- "X" wins
     #     ["O", "O", "-"],
     #     ["-", "-", "-"],
     # ]
     move(self.game, self.x, position=(0, 0))
     move(self.game, self.o, position=(1, 0))
     move(self.game, self.x, position=(0, 1))
     move(self.game, self.o, position=(1, 1))
     with self.assertRaisesRegexp(GameOver, '"X" wins!'):
         move(self.game, self.x, position=(0, 2))
     self.assertEqual(get_winner(self.game), self.x)
     with self.assertRaisesRegexp(InvalidMovement, 'Game is over'):
         move(self.game, self.o, position=(2, 2))
 def test_play_no_winner(self):
     # [
     #     ["X", "O", "X"],
     #     ["O", "O", "X"],
     #     ["X", "X", "O"],
     # ]
     move(self.game, self.x, position=(0, 0))
     move(self.game, self.o, position=(0, 1))
     move(self.game, self.x, position=(0, 2))
     move(self.game, self.o, position=(1, 0))
     move(self.game, self.x, position=(1, 2))
     move(self.game, self.o, position=(1, 1))
     move(self.game, self.x, position=(2, 0))
     move(self.game, self.o, position=(2, 2))
     with self.assertRaisesRegexp(GameOver, 'Game is tied!'):
         move(self.game, self.x, position=(2, 1))
     self.assertEqual(get_winner(self.game), None)
     self.assertTrue(_board_is_full(self.game['board']))
     with self.assertRaisesRegexp(InvalidMovement, 'Game is over.'):
         move(self.game, self.o, position=(0, 0))
示例#5
0
文件: tests.py 项目: RLeary/projects
    test_board_moves = [(0, 1), (0, 2), (1, 2), (2, 0), (2, 1)]

    all_moves = [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

    no_moves = list()

    assert get_valid_moves(empty_board) == all_moves
    assert get_valid_moves(full_board) == no_moves
    assert get_valid_moves(test_board) == test_board_moves

    # Test get_winner() function
    # diagonal win
    board_1 = [["X", "X", None], ["O", "X", "O"], ["O", "O", "X"]]

    assert get_winner(board_1) == "X"

    # horizontal win
    board_2 = [["X", "X", "X"], ["O", "X", "O"], ["O", "O", None]]

    assert get_winner(board_2) == "X"

    # vertical win
    board_3 = [["O", "X", "X"], ["O", "X", "O"], ["O", "O", "X"]]

    assert get_winner(board_3) == "O"

    # game in progress, no winner
    board_4 = [["X", "X", None], ["O", "X", "O"], ["O", "O", None]]

    assert get_winner(board_4) == None