Exemplo n.º 1
0
def test_reversi_skipPut():
    game = Reversi()
    game.reset()
    assert not game.skipPut()
    game.board[3][3] = game.board[3][4] = game.board[4][3] = game.board[4][4] = reversi.EMPTY
    assert game.skipPut()
    assert game.history[-1] == []
Exemplo n.º 2
0
def test_reversi_reset():
    game = Reversi()
    game.reset()
    assert game.current == reversi.BLACK
    assert len(game.history) == 0
    assert len(game.board) == 8
    assert all(len(col) == 8 for col in game.board)
Exemplo n.º 3
0
def test_reversi_any():
    game = Reversi()
    game.reset()
    assert game.any()
    assert game.any(reversi.BLACK)
    assert game.any(reversi.WHITE)
    game.board[3][3] = game.board[3][4] = game.board[4][3] = game.board[4][4] = reversi.EMPTY
    assert not game.any(reversi.BLACK)
    assert not game.any(reversi.WHITE)
Exemplo n.º 4
0
def test_reversi_put():
    game = Reversi()
    game.reset()
    assert game.put(2, 4)
    assert game.history[-1] == [(3, 4), (2, 4)]
    assert not game.put(2, 4)
    assert not game.put(0, 0)
    assert not game.put((0, 0))  # Tuple unpacking test
    assert game.put((2, 3))
Exemplo n.º 5
0
def test_reversi_copy():
    game = Reversi()
    game.reset()
    game.put(2, 4)
    other = game.copy()
    assert game is not other
    assert game.board == other.board
    assert all(a is not b for a, b in zip(game.board, other.board))
    assert game.current == other.current
    assert game.history == other.history
    assert all(a is not b for a, b in zip(game.history, other.history))
Exemplo n.º 6
0
def test_reversi_undo():
    game_1, game_2 = Reversi(), Reversi()
    game_1.reset()
    game_2.reset()
    assert game_1.board == game_2.board
    assert game_1.history == game_2.history == []
    assert game_1.undo() == (False, 0)
    game_1.put(2, 4)
    assert game_1.board != game_2.board
    assert game_1.history != game_2.history
    assert game_1.undo() == (True, 2)
    assert game_1.board == game_2.board
    assert game_1.history == game_2.history

    game_1.history.append([])
    game_1.toggle()
    assert game_1.undo() == (True, 0)
Exemplo n.º 7
0
def test_reversi_chessCount():
    game = Reversi()
    game.reset()
    assert game.chessCount == [60, 2, 2]
Exemplo n.º 8
0
def test_reversi_lastChess():
    game = Reversi()
    game.reset()
    assert game.lastChess is None
    game.put(2, 4)
    assert game.lastChess == (2, 4)
Exemplo n.º 9
0
def test_reversi_at(x, y, expected):
    game = Reversi()
    game.reset()
    assert game.at(x, y) == expected
Exemplo n.º 10
0
def test_reversi_over():
    game = Reversi()
    game.reset()
    assert not game.over
    game.board[3][3] = game.board[3][4] = game.board[4][3] = game.board[4][4] = reversi.EMPTY
    assert game.over
Exemplo n.º 11
0
def test_reversi_getAvailables():
    game = Reversi()
    game.reset()
    assert sorted(game.getAvailables()) == sorted([(2, 4), (3, 5), (4, 2), (5, 3)])
    game.toggle()
    assert sorted(game.getAvailables()) == sorted([(2, 3), (4, 5), (3, 2), (5, 4)])
Exemplo n.º 12
0
def test_reversi_canPut(x, y, player, expected):
    game = Reversi()
    game.reset()
    assert game.canPut(x, y, player) == expected
Exemplo n.º 13
0
def test_reversi_check(x, y, dx, dy, player, expected):
    game = Reversi()
    game.reset()
    assert game.check(x, y, dx, dy, player) == expected
Exemplo n.º 14
0
def test_reversi_repr():
    game = Reversi()
    game.reset()
    assert str(game)
    assert repr(game)