def test_is_legal_move_for_pawn(self): from board import Board import constants b = Board() b._board = ChessTest.board2 #White pawn, forward one space from default position self.assertTrue(b._isLegalMoveForPawn([7, 1, 7, 2], constants.WHITE_PLAYER)) #White pawn, forward two spaces from default position self.assertTrue(b._isLegalMoveForPawn([7, 1, 7, 3], constants.WHITE_PLAYER)) #Black pawn, forward one space from default position self.assertTrue(b._isLegalMoveForPawn([6, 6, 6, 5], constants.BLACK_PLAYER)) #Black pawn, forward two spaces from default position self.assertTrue(b._isLegalMoveForPawn([6, 6, 6, 4], constants.BLACK_PLAYER)) #Black pawn, forward one space from non-default position self.assertTrue(b._isLegalMoveForPawn([5, 5, 5, 4], constants.BLACK_PLAYER)) b._board = ChessTest.board1 #Legal move to kill self.assertTrue(b._isLegalMoveForPawn([3, 4, 4, 5], constants.WHITE_PLAYER)) #Legal move to kill 2 self.assertTrue(b._isLegalMoveForPawn([3, 4, 2, 5], constants.WHITE_PLAYER))
def test_is_legal_move_for_pawn_negative_test(self): from board import Board import constants b = Board() b._board = ChessTest.board2 #White pawn, forward three spaces from default position self.assertFalse(b._isLegalMoveForPawn([7, 1, 7, 4], constants.WHITE_PLAYER)) #White pawn, backward one space self.assertFalse(b._isLegalMoveForPawn([7, 1, 7, 0], constants.WHITE_PLAYER)) #Black pawn, move to left self.assertFalse(b._isLegalMoveForPawn([6, 5, 6, 5], constants.WHITE_PLAYER)) #Black pawn, move to right self.assertFalse(b._isLegalMoveForPawn([6, 5, 6, 5], constants.WHITE_PLAYER)) #Black pawn, forward diagonally self.assertFalse(b._isLegalMoveForPawn([5, 5, 4, 4], constants.WHITE_PLAYER)) #Black pawn, forward diagonally self.assertFalse(b._isLegalMoveForPawn([5, 5, 5, 4], constants.WHITE_PLAYER)) #White pawn, backward diagonally self.assertFalse(b._isLegalMoveForPawn([5, 1, 6, 0], constants.WHITE_PLAYER)) #White pawn, backward diagonally self.assertFalse(b._isLegalMoveForPawn([3, 1, 4, 0], constants.WHITE_PLAYER)) #White pawn, far across board self.assertFalse(b._isLegalMoveForPawn([3, 1, 5, 7], constants.WHITE_PLAYER)) b._board = ChessTest.board1 #Cannot kill piece by moving forward (must move diagnoally) self.assertFalse(b._isLegalMoveForPawn([6, 3, 6, 4], constants.WHITE_PLAYER))