52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
|
|
import pytest, AuxiliaryTestingMethods as aux, Actions
|
||
|
|
|
||
|
|
def testPlace(takGame):
|
||
|
|
aux.resetBoard(takGame)
|
||
|
|
Actions.place(takGame.board, [1, 1], 1)
|
||
|
|
assert takGame.board.board[1][1][0] == 1
|
||
|
|
|
||
|
|
def testMove(takGame):
|
||
|
|
aux.resetBoard(takGame)
|
||
|
|
Actions.place(takGame.board, [1, 1], 1)
|
||
|
|
Actions.place(takGame.board, [1, 2], 1)
|
||
|
|
Actions.move(takGame.board, [1, 1], [1, 2], [1])
|
||
|
|
assert takGame.board.board[1][2][0] == 1
|
||
|
|
assert takGame.board.board[1][2][1] == 1
|
||
|
|
assert takGame.board.board[1][1][0] == 0
|
||
|
|
Actions.move(takGame.board, [1, 2], [3, 2], [1,1])
|
||
|
|
assert takGame.board.board[1][2][0] == 0
|
||
|
|
assert takGame.board.board[2][2][0] == 1
|
||
|
|
assert takGame.board.board[3][2][0] == 1
|
||
|
|
|
||
|
|
def testWall(takGame):
|
||
|
|
aux.resetBoard(takGame)
|
||
|
|
Actions.place(takGame.board, [1, 1], 1)
|
||
|
|
Actions.place(takGame.board, [1, 2], 2)
|
||
|
|
with pytest.raises(ValueError):
|
||
|
|
Actions.move(takGame.board, [1,1], [1,2], [1])
|
||
|
|
|
||
|
|
def testCapstone(takGame):
|
||
|
|
aux.resetBoard(takGame)
|
||
|
|
Actions.place(takGame.board, [1, 1], 3)
|
||
|
|
Actions.place(takGame.board, [1, 2], -2)
|
||
|
|
Actions.move(takGame.board, [1, 1], [1, 2], [1])
|
||
|
|
assert takGame.board.board[1][2][0] == -1
|
||
|
|
assert takGame.board.board[1][2][1] == 3
|
||
|
|
|
||
|
|
def testCarryLimit(takGame):
|
||
|
|
aux.resetBoard(takGame)
|
||
|
|
takGame.board.board[1][1] = [1,1,1,1,1,1,1,1,1,1]
|
||
|
|
with pytest.raises(ValueError):
|
||
|
|
Actions.move(takGame.board, [1,1], [1,2], [9])
|
||
|
|
|
||
|
|
def testPiecesLeft(takGame):
|
||
|
|
aux.resetBoard(takGame)
|
||
|
|
Actions.place(takGame.board, [1,1], 3)
|
||
|
|
with pytest.raises(ValueError):
|
||
|
|
Actions.place(takGame.board, [0, 1], 3)
|
||
|
|
|
||
|
|
@pytest.fixture(scope='module')
|
||
|
|
def takGame():
|
||
|
|
import Tak
|
||
|
|
return Tak.TakGame(5)
|