From c100c349d722cd81b8aea015ae09b1627ca67883 Mon Sep 17 00:00:00 2001 From: adrianna Date: Fri, 16 May 2014 10:56:38 +0200 Subject: [PATCH] added more tests for chess moves; they all pass --- naja/tests/test_actions.py | 19 ++++++++++++++++++- naja/tests/test_gameboard.py | 21 ++++++++++++++++++++- naja/tests/test_player.py | 6 +++--- 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/naja/tests/test_actions.py b/naja/tests/test_actions.py index e8be3c8..f590caa 100644 --- a/naja/tests/test_actions.py +++ b/naja/tests/test_actions.py @@ -1,6 +1,6 @@ from unittest import TestCase -from naja.constants import BITS +from naja.constants import BITS, MOVES from naja.gameboard import GameBoard, LocationCard from naja.player import Player from naja import actions @@ -187,3 +187,20 @@ class TestActions(TestCase): self.assert_state( state_before, state_after, exclude=['health'], player_exclude=['bits']) + + def test_AllowKnightMove(self): + board = self.make_board(player_bits=[BITS.RED, BITS.BLUE]) + actions.AllowChessMove(set([BITS.RED, BITS.BLUE]), chesspiece="KNIGHT").perform_action(board, None) + self.assertEqual(board.player.movement_mode, MOVES.KNIGHT) + + + def test_AllowBishopMove(self): + board = self.make_board(player_bits=[BITS.RED, BITS.BLUE]) + actions.AllowChessMove(set([BITS.RED, BITS.BLUE]), chesspiece="BISHOP").perform_action(board, None) + self.assertEqual(board.player.movement_mode, MOVES.BISHOP) + + + def test_AllowCastleMove(self): + board = self.make_board(player_bits=[BITS.RED, BITS.BLUE]) + actions.AllowChessMove(set([BITS.RED, BITS.BLUE]), chesspiece="CASTLE").perform_action(board, None) + self.assertEqual(board.player.movement_mode, MOVES.CASTLE) diff --git a/naja/tests/test_gameboard.py b/naja/tests/test_gameboard.py index d40873f..3bbf59b 100644 --- a/naja/tests/test_gameboard.py +++ b/naja/tests/test_gameboard.py @@ -1,6 +1,6 @@ from unittest import TestCase -from naja.constants import BITS +from naja.constants import BITS, MOVES from naja.gameboard import GameBoard, LocationCard from naja import actions @@ -124,6 +124,25 @@ class TestGameBoard(TestCase): (0, 2): '12', (1, 2): '32', (3, 2): '42', (4, 2): '02', })) + def test_allow_chess_move_knight(self): + board = GameBoard.new_game([{'actions': []}]) + board.board_locations = self.generate_locations() + board.allow_chess_move(MOVES.KNIGHT) + self.assertEqual(board.player.movement_mode, MOVES.KNIGHT) + + def test_allow_chess_move_bishop(self): + board = GameBoard.new_game([{'actions': []}]) + board.board_locations = self.generate_locations() + board.allow_chess_move(MOVES.BISHOP) + self.assertEqual(board.player.movement_mode, MOVES.BISHOP) + + def test_allow_chess_move_castle(self): + board = GameBoard.new_game([{'actions': []}]) + board.board_locations = self.generate_locations() + board.allow_chess_move(MOVES.CASTLE) + self.assertEqual(board.player.movement_mode, MOVES.CASTLE) + + class TestLocationCard(TestCase): def test_generate_bitwise_operand(self): diff --git a/naja/tests/test_player.py b/naja/tests/test_player.py index d45c09e..a7173cb 100644 --- a/naja/tests/test_player.py +++ b/naja/tests/test_player.py @@ -1,6 +1,6 @@ from unittest import TestCase -from naja.constants import BITS +from naja.constants import BITS, MOVES from naja.player import PlayerBits, Player @@ -136,11 +136,11 @@ class TestPlayer(TestCase): def test_legal_moves_bishop(self): player = Player(0x0f, (1, 3), MOVES.BISHOP) self.assertEqual(player.legal_moves(), [(0, 2), (0, 4), (1, 3), (2, 2), - (2, 4), (3, 1), (3, 4), (4, 0)]) + (2, 4), (3, 1), (4, 0)]) def test_legal_moves_knight(self): player = Player(0x0f, (1, 3), MOVES.KNIGHT) - self.assertEqual(player.legal_moves(), [(0, 1), (2, 1), (3, 2), (3, 4)]) + self.assertEqual(player.legal_moves(), [(0, 1), (1, 3), (2, 1), (3, 2), (3, 4)]) def test_set_position(self): player = Player(0x0f, (3, 3), MOVES.BISHOP) -- 2.34.1