Example #1
0
        public void applies_castle_black_queenside()
        {
            var b = new BoardState("bra8 bke8 brh8");

            b.BlackCastlingKingSideAvailable  = true;
            b.BlackCastlingQueenSideAvailable = true;
            b.Apply(b.GenerateMove(Square.e8, Square.c8));
            Assert.Equal(Piece.BlackKing, b.PieceAt(Square.c8));
            Assert.Equal(Piece.BlackRook, b.PieceAt(Square.d8));
        }
Example #2
0
        public void applies_castle_white_queenside()
        {
            var b = new BoardState("wra1 wke1 wrh1");

            b.WhiteCastlingKingSideAvailable  = true;
            b.WhiteCastlingQueenSideAvailable = true;
            b.Apply(b.GenerateMove(Square.e1, Square.c1));
            Assert.Equal(Piece.WhiteKing, b.PieceAt(Square.c1));
            Assert.Equal(Piece.WhiteRook, b.PieceAt(Square.d1));
        }
Example #3
0
        public void sets_en_passant_white()
        {
            var b = new BoardState("wpa2");

            Assert.Null(b.EnPassantTargetSquare);
            Assert.Equal(Player.None, b.EnPassantTargetPlayer);

            b.Apply(new Move(Piece.WhitePawn, Square.a2, Square.a4));

            Assert.Equal(Square.a3, b.EnPassantTargetSquare);
            Assert.Equal(Player.White, b.EnPassantTargetPlayer);
        }
Example #4
0
        public void sets_en_passant_black()
        {
            var b = new BoardState("bpa7");

            Assert.Null(b.EnPassantTargetSquare);
            Assert.Equal(Player.None, b.EnPassantTargetPlayer);

            b.Apply(new Move(Piece.BlackPawn, Square.a7, Square.a5));

            Assert.Equal(Square.a6, b.EnPassantTargetSquare);
            Assert.Equal(Player.Black, b.EnPassantTargetPlayer);
        }