public void canSim2MovesAheadWithOptions() { Board b = TestBoard.createBoard(); b.Place <Pawn>(Piece.PlayerColour.White, 4, 3); b.Place <Pawn>(Piece.PlayerColour.Black, 2, 4); b.GetFirstPiece <Pawn>(Piece.PlayerColour.White).AtStartPosition = false; b.GetFirstPiece <Pawn>(Piece.PlayerColour.Black).AtStartPosition = false; SimulationTree simTree = b.Simulate(Piece.PlayerColour.Black, 2); List <Board> twoMovesAheadBoards = simTree.GetPossibilitesAtNumMovesAhead(2); Assert.AreEqual <int>(2, twoMovesAheadBoards.Count); List <Cell> expectedPositions = new List <Cell>() { new Cell(3, 3), new Cell(3, 4), }; foreach (Board possibleBoard in twoMovesAheadBoards) { Pawn whitePawn = possibleBoard.GetFirstPiece <Pawn>(Piece.PlayerColour.White); Assert.IsTrue(expectedPositions.Contains(whitePawn.ParentCell)); } }
public void simulateReturnSimTree() { Board b = TestBoard.createBoard(); b.Place <Pawn>(Piece.PlayerColour.White, 4, 3); b.Place <Pawn>(Piece.PlayerColour.Black, 1, 1); SimulationTree simTree = b.Simulate(Piece.PlayerColour.White, 2); }
public void ReturnedSimTreeCanGetBoardsAtNumMovesAhead() { Board b = TestBoard.createBoard(); b.Place <Pawn>(Piece.PlayerColour.White, 4, 3); b.Place <Pawn>(Piece.PlayerColour.Black, 1, 1); SimulationTree simTree = b.Simulate(Piece.PlayerColour.White, 2); List <Board> twoMovesAheadBoards = simTree.GetPossibilitesAtNumMovesAhead(2); }
public void canSim2MovesWithWithMultiplePieces() { Board b = TestBoard.createBoard(); b.Place <Knight>(Piece.PlayerColour.White, 7, 1); b.Place <Knight>(Piece.PlayerColour.Black, 0, 1); SimulationTree simTree = b.Simulate(Piece.PlayerColour.White, 2); List <Board> twoMovesAheadBoards = simTree.GetPossibilitesAtNumMovesAhead(2); Assert.AreEqual <int>(9, twoMovesAheadBoards.Count); }
public void canSimulateOneMoveAhead() { Board b = TestBoard.createBoard(); b.Place <Pawn>(Piece.PlayerColour.White, 4, 3); b.Place <Pawn>(Piece.PlayerColour.Black, 1, 1); Pawn whitePawn = b.GetFirstPiece <Pawn>(Piece.PlayerColour.White); whitePawn.AtStartPosition = false; SimulationTree simTree = b.Simulate(Piece.PlayerColour.White, 1); List <Board> oneMoveAheadBoards = simTree.GetPossibilitesAtNumMovesAhead(1); Assert.AreEqual <int>(1, oneMoveAheadBoards.Count); Pawn oneMoveAheadPawn = oneMoveAheadBoards[0].GetFirstPiece <Pawn>(Piece.PlayerColour.White); Assert.AreEqual <Cell>(new Cell(3, 3), oneMoveAheadPawn.ParentCell); }
public void canSimFourMovesAhead() { Board b = TestBoard.createBoard(); b.Place <Pawn>(Piece.PlayerColour.White, 4, 3); b.Place <Pawn>(Piece.PlayerColour.Black, 2, 1); b.GetFirstPiece <Pawn>(Piece.PlayerColour.White).AtStartPosition = false; b.GetFirstPiece <Pawn>(Piece.PlayerColour.Black).AtStartPosition = false; SimulationTree simTree = b.Simulate(Piece.PlayerColour.White, 4); List <Board> fourMovesAheadBoards = simTree.GetPossibilitesAtNumMovesAhead(4); Assert.AreEqual <int>(1, fourMovesAheadBoards.Count); Pawn whiteOneMoveAheadPawn = fourMovesAheadBoards[0].GetFirstPiece <Pawn>(Piece.PlayerColour.White); Assert.AreEqual <Cell>(new Cell(2, 3), whiteOneMoveAheadPawn.ParentCell); Pawn blackTwoMovesAheadPawn = fourMovesAheadBoards[0].GetFirstPiece <Pawn>(Piece.PlayerColour.Black); Assert.AreEqual <Cell>(new Cell(4, 1), blackTwoMovesAheadPawn.ParentCell); }