def testSumFourPieces(self): board = ChessBoard() board.addPieceToBoard("Pawn", 5, 2, "White") board.addPieceToBoard("Pawn", 4, 2, "White") board.addPieceToBoard("Pawn", 6, 2, "White") board.addPieceToBoard("King", 5, 1, "White") self.assertEqual(board.calculateAllMoves(0), 8)
def testPawnConflictFirstSquareWhite(self): board = ChessBoard() board.addPieceToBoard("Pawn", 4, 2, "White") board.addPieceToBoard("Pawn", 4, 4, "White") moves = board.getSquare(4, 2).getMoveset(board.getRanks()) self.assertEqual(1, len(moves)) self.assertIn((4, 3), moves)
def testCenterAllMoves(self): board = ChessBoard() board.addPieceToBoard("Queen", 4, 4, "White") moves = board.getSquare(4, 4).getMoveset(board.getRanks()) self.assertEqual(27, len(moves)) self.assertIn((4, 3), moves) #1 self.assertIn((4, 2), moves) #2 self.assertIn((4, 1), moves) #3 self.assertIn((4, 5), moves) #4 self.assertIn((4, 6), moves) #5 self.assertIn((4, 7), moves) #6 self.assertIn((4, 8), moves) #7 self.assertIn((5, 4), moves) #8 self.assertIn((6, 4), moves) #9 self.assertIn((7, 4), moves) #10 self.assertIn((8, 4), moves) #11 self.assertIn((3, 4), moves) #12 self.assertIn((2, 4), moves) #13 self.assertIn((1, 4), moves) #14 self.assertIn((3, 3), moves) #15 self.assertIn((2, 2), moves) #16 self.assertIn((1, 1), moves) #17 self.assertIn((5, 5), moves) #18 self.assertIn((6, 6), moves) #19 self.assertIn((7, 7), moves) #20 self.assertIn((8, 8), moves) #21 self.assertIn((5, 3), moves) #22 self.assertIn((6, 2), moves) #23 self.assertIn((7, 1), moves) #24 self.assertIn((3, 5), moves) #25 self.assertIn((2, 6), moves) #26 self.assertIn((1, 7), moves) #27
def testPawnUnblockedFirstSquareBlack(self): board = ChessBoard() board.addPieceToBoard("Pawn", 4, 7, "Black") moves = board.getSquare(4, 7).getMoveset(board.getRanks()) self.assertEqual(2, len(moves)) self.assertIn((4, 6), moves) self.assertIn((4, 5), moves)
def testPawnBlockedDiffColor(self): board = ChessBoard() board.addPieceToBoard("Pawn", 4, 4, "White") board.addPieceToBoard("Pawn", 4, 5, "Black") moves = board.getSquare(4, 4).getMoveset(board.getRanks()) self.assertEqual(0, len(moves)) self.assertNotIn((4, 5), moves)
def testOppositeNothing(self): board = ChessBoard() board.addPieceToBoard("Pawn", 5, 2, "Black") board.addPieceToBoard("Pawn", 4, 2, "Black") board.addPieceToBoard("Pawn", 6, 2, "Black") board.addPieceToBoard("King", 5, 1, "Black") board.blackCanCastle() self.assertEqual(board.calculateAllMoves(0), 0)
def testSumFourPiecesBlackCanCastle(self): board = ChessBoard() board.addPieceToBoard("Pawn", 5, 2, "Black") board.addPieceToBoard("Pawn", 4, 2, "Black") board.addPieceToBoard("Pawn", 6, 2, "Black") board.addPieceToBoard("King", 4, 1, "Black") board.blackCanCastle() self.assertEqual(board.calculateAllMoves(1), 6)
def testPawnBlockedAttackBlackRight(self): board = ChessBoard() board.addPieceToBoard("Pawn", 4, 4, "White") board.addPieceToBoard("Pawn", 5, 5, "Black") moves = board.getSquare(5, 5).getMoveset(board.getRanks()) self.assertIn((4, 4), moves)
def testKingCenterAllMoves(self): board = ChessBoard() board.addPieceToBoard("King", 4, 4, "White") moves = board.getSquare(4, 4).getMoveset(board.getRanks()) self.assertEqual(8, len(moves)) self.assertIn((3, 3), moves) self.assertIn((3, 4), moves) self.assertIn((3, 5), moves) self.assertIn((4, 5), moves) self.assertIn((5, 5), moves) self.assertIn((5, 4), moves) self.assertIn((5, 3), moves) self.assertIn((4, 3), moves)
def testKnightCenterAllMoves(self): board = ChessBoard() board.addPieceToBoard("Knight", 4, 4, 0) moves = board.getSquare(4, 4).getMoveset(board.getRanks()) self.assertEqual(8, len(moves)) self.assertIn((2, 3), moves) self.assertIn((2, 5), moves) self.assertIn((3, 6), moves) self.assertIn((3, 2), moves) self.assertIn((5, 2), moves) self.assertIn((5, 6), moves) self.assertIn((6, 3), moves) self.assertIn((6, 5), moves)
def testCenterAllMovesBlockedDiff(self): board = ChessBoard() board.addPieceToBoard("Queen", 4, 4, "Black") board.addPieceToBoard("Pawn", 3, 4, "White") board.addPieceToBoard("Pawn", 3, 5, "White") board.addPieceToBoard("Pawn", 4, 5, "White") board.addPieceToBoard("Pawn", 5, 5, "White") board.addPieceToBoard("Pawn", 5, 4, "White") board.addPieceToBoard("Pawn", 5, 3, "White") board.addPieceToBoard("Pawn", 4, 3, "White") board.addPieceToBoard("Pawn", 3, 3, "White") moves = board.getSquare(4, 4).getMoveset(board.getRanks()) self.assertEqual(8, len(moves))
def testCenterAllMoves(self): board = ChessBoard() board.addPieceToBoard("Bishop", 4, 4, "White") moves = board.getSquare(4, 4).getMoveset(board.getRanks()) self.assertEqual(13, len(moves)) self.assertIn((3, 3), moves) #1 self.assertIn((2, 2), moves) #2 self.assertIn((1, 1), moves) #3 self.assertIn((5, 5), moves) #4 self.assertIn((6, 6), moves) #5 self.assertIn((7, 7), moves) #6 self.assertIn((8, 8), moves) #7 self.assertIn((5, 3), moves) #8 self.assertIn((6, 2), moves) #9 self.assertIn((7, 1), moves) #10 self.assertIn((3, 5), moves) #11 self.assertIn((2, 6), moves) #12 self.assertIn((1, 7), moves) #13
def testKnightCenterJumps(self): board = ChessBoard() board.addPieceToBoard("Knight", 4, 4, "White") board.addPieceToBoard("Pawn", 3, 4, "White") board.addPieceToBoard("Pawn", 3, 5, "White") board.addPieceToBoard("Pawn", 4, 5, "White") board.addPieceToBoard("Pawn", 5, 5, "White") board.addPieceToBoard("Pawn", 5, 4, "White") board.addPieceToBoard("Pawn", 5, 3, "White") board.addPieceToBoard("Pawn", 4, 3, "White") board.addPieceToBoard("Pawn", 3, 3, "White") moves = board.getSquare(4, 4).getMoveset(board.getRanks()) self.assertEqual(8, len(moves)) self.assertIn((2, 3), moves) self.assertIn((2, 5), moves) self.assertIn((3, 6), moves) self.assertIn((3, 2), moves) self.assertIn((5, 2), moves) self.assertIn((5, 6), moves) self.assertIn((6, 3), moves) self.assertIn((6, 5), moves)
def testCenterAllMovesBlockedSame(self): board = ChessBoard() board.addPieceToBoard("Bishop", 4, 4, "White") board.addPieceToBoard("Pawn", 3, 3, "White") board.addPieceToBoard("Pawn", 5, 5, "White") board.addPieceToBoard("Pawn", 3, 5, "White") board.addPieceToBoard("Pawn", 5, 3, "White") moves = board.getSquare(4, 4).getMoveset(board.getRanks()) self.assertEqual(0, len(moves))
def testSumTwoPieces(self): board = ChessBoard() board.addPieceToBoard("Pawn", 1, 2, "White") board.addPieceToBoard("Pawn", 2, 2, "White") self.assertEqual(board.calculateAllMoves(0), 4)
def testKnightCenterConflictingSquareSameColor(self): board = ChessBoard() board.addPieceToBoard("Knight", 4, 4, 0) board.addPieceToBoard("Pawn", 2, 3, 0) moves = board.getSquare(4, 4).getMoveset(board.getRanks()) self.assertNotIn((2, 3), moves)
def testPawnUnblockedBlack(self): board = ChessBoard() board.addPieceToBoard("Pawn", 4, 4, "Black") moves = board.getSquare(4, 4).getMoveset(board.getRanks()) self.assertEqual(1, len(moves)) self.assertIn((4, 3), moves)
def testKingCenterConflictingSquareDiffColor(self): board = ChessBoard() board.addPieceToBoard("King", 4, 4, "White") board.addPieceToBoard("Pawn", 4, 3, "Black") moves = board.getSquare(4, 4).getMoveset(board.getRanks()) self.assertIn((4, 3), moves)
def testPawnBlockedFirstSquareWhite(self): board = ChessBoard() board.addPieceToBoard("Pawn", 4, 2, "White") board.addPieceToBoard("Pawn", 4, 3, "White") moves = board.getSquare(4, 2).getMoveset(board.getRanks()) self.assertEqual(0, len(moves))