public void NotTerminal_White() { ChessBoard notTerminal = new ChessBoard(); notTerminal.InitializeScenario(new ScenarioList { { BoardSquare.A1, ChessPieceType.King, ChessPieceColors.White }, { BoardSquare.H8, ChessPieceType.King, ChessPieceColors.Black }, { BoardSquare.A2, ChessPieceType.Pawn, ChessPieceColors.White }, { BoardSquare.H7, ChessPieceType.Pawn, ChessPieceColors.Black } }); NegaMax.TerminalConditions resultWhiteNotTerminal = NegaMax.IsTerminal_Debug(notTerminal, ChessPieceColors.White, GenerateStaticMoves_White_Depth1); Assert.Equal(NegaMax.TerminalConditions.NotTerminal, resultWhiteNotTerminal); }
public void DrawTest_Black() { //Draw state test ChessBoard draw = new ChessBoard(); draw.InitializeScenario(new ScenarioList { { BoardSquare.A8, ChessPieceType.King, ChessPieceColors.Black }, { BoardSquare.B7, ChessPieceType.Rook, ChessPieceColors.White }, { BoardSquare.H1, ChessPieceType.King, ChessPieceColors.White } }); NegaMax.TerminalConditions resultBlackDraw = NegaMax.IsTerminal_Debug(draw, ChessPieceColors.Black, GenerateCheckMateMoves); Assert.Equal(NegaMax.TerminalConditions.Draw, resultBlackDraw); }
public void CheckmateTest_Black() { //Checkmate state test ChessBoard checkmate = new ChessBoard(); checkmate.InitializeScenario(new ScenarioList { { BoardSquare.G8, ChessPieceType.Rook, ChessPieceColors.White }, { BoardSquare.D6, ChessPieceType.Knight, ChessPieceColors.White }, { BoardSquare.D8, ChessPieceType.King, ChessPieceColors.Black } }); checkmate.BlackKing.IsChecked = true; NegaMax.TerminalConditions result = NegaMax.IsTerminal_Debug(checkmate, ChessPieceColors.Black, GenerateCheckMateMoves); Assert.Equal(NegaMax.TerminalConditions.Win, result); }