public void BlackToPlay_MateInTwo_Deepening() { //see image mate in two black.png var game = new Game(); game.New(); game.Reset(); game .AddPiece("a8bR").AddPiece("e8bK").AddPiece("f8bB") .AddPiece("c7bP").AddPiece("d7bP").AddPiece("f7bP") .AddPiece("a6bP").AddPiece("g6bQ") .AddPiece("b5bP").AddPiece("e5wP") .AddPiece("h4wQ") .AddPiece("b3wP").AddPiece("e3wB").AddPiece("f3bB").AddPiece("h3wP") .AddPiece("b2wP").AddPiece("c2wP").AddPiece("e2wN").AddPiece("f2wP").AddPiece("g2bR") .AddPiece("a1wR").AddPiece("e1wR").AddPiece("f1wK"); game.CurrentPlayer = game.BlackPlayer; EngineTests.DisableCastling(game); game.SetInitials(); var engine = new Engine(); var evaluation = engine.BestMoveDeepeningSearch(game, TimeSpan.FromSeconds(10)); Console.WriteLine(evaluation); Assert.AreEqual("Rg1+", evaluation.Move.ToString()); }
public void MateInThreeWhiteToPlay_Deepening() { var game = new Game(); game.New(); game.Reset(); game .AddPiece("g8bK") .AddPiece("a7wR").AddPiece("b7wR").AddPiece("c7bP") .AddPiece("f6wK").AddPiece("g6wN") .AddPiece("f5wP") .AddPiece("b2bP").AddPiece("c3bR").AddPiece("e3bR").AddPiece("f3bN"); EngineTests.DisableCastling(game); game.SetInitials(); var engine = new Engine(); var evaluation = engine.BestMoveDeepeningSearch(game, TimeSpan.FromSeconds(4)); Console.WriteLine(evaluation.ToString()); Assert.IsTrue(new [] { "Rb8+", "Ra8+" }.Contains(evaluation.Move.ToString())); }