public void Reset_Should_ResetAndSetupInitialPosition() { // Arrange SUT board = new SUT("2rq1rk1/ppp2ppp/n3bn2/1B1pp1B1/1b1PP3/2N2N2/PPP1QPPP/2KRR3 w - - 0 1"); // Act board.Reset(); // Assert Assert.AreEqual(SUT.INITIAL_FEN_POSITION, board.GetFEN()); Assert.AreEqual(ChessColor.White, board.Turn); Assert.AreEqual(ChessCastling.KingSide | ChessCastling.QueenSide, board.GetCastlingRights(ChessColor.White)); Assert.AreEqual(ChessCastling.KingSide | ChessCastling.QueenSide, board.GetCastlingRights(ChessColor.Black)); }
public void Clear_Should_ResetTheState() { // Arrange SUT board = new SUT("rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPPKPPP/RNBQ1BNR b kq - 1 2"); // Act board.Clear(); // Assert Assert.AreEqual("8/8/8/8/8/8/8/8 w - - 0 1", board.GetFEN()); Assert.AreEqual(ChessColor.White, board.Turn); Assert.AreEqual(ChessCastling.None, board.GetCastlingRights(ChessColor.White)); Assert.AreEqual(ChessCastling.None, board.GetCastlingRights(ChessColor.Black)); }
public void GetCastlingRights_Should_ReturnCorrectValues(string fenString, ChessCastling expectedForWhite, ChessCastling expectedForBlack) { // Arrange SUT board; ChessCastling actualWhite; ChessCastling actualBlack; // Act board = new SUT(fenString); actualWhite = board.GetCastlingRights(ChessColor.White); actualBlack = board.GetCastlingRights(ChessColor.Black); // Assert Assert.AreEqual(expectedForWhite, actualWhite); Assert.AreEqual(expectedForBlack, actualBlack); }
public void Constructor_Should_InitializeWithGivenPosition(string expectedFen, string expectedSide, ChessCastling expectedCastlingForWhite, ChessCastling expectedCastlingForBlack) { // Arrange SUT board = new SUT(expectedFen); // Act string fen = board.GetFEN(); // Assert Assert.AreEqual(expectedFen, fen); Assert.AreEqual(expectedSide, board.Turn == ChessColor.White ? "w" : "b"); Assert.AreEqual(expectedCastlingForWhite, board.GetCastlingRights(ChessColor.White)); Assert.AreEqual(expectedCastlingForBlack, board.GetCastlingRights(ChessColor.Black)); }