ChessDotNet.Tests.ChessGameTests.TestApplyMove_ReturnedMoveType C# (CSharp) Method

TestApplyMove_ReturnedMoveType() private method

private TestApplyMove_ReturnedMoveType ( ) : void
return void
        public static void TestApplyMove_ReturnedMoveType()
        {
            ChessGame game = new ChessGame();
            MoveType type = game.ApplyMove(new Move("E2", "E4", Player.White), true);
            Assert.AreEqual(type, MoveType.Move);
            type = game.ApplyMove(new Move("D7", "D5", Player.Black), true);
            Assert.AreEqual(type, MoveType.Move);
            type = game.ApplyMove(new Move("E4", "D5", Player.White), true);
            Assert.AreEqual(type, MoveType.Move | MoveType.Capture);
            type = game.ApplyMove(new Move("A5", "A4", Player.White), false);
            Assert.AreEqual(type, MoveType.Invalid);

            Piece[][] board = new Piece[8][]
            {
                new[] { rb, o, o, kb, o, o, o, o },
                new[] { o, pw, o, o, o, o, o, o },
                new[] { o, o, o, o, o, o, o, o },
                new[] { o, o, o, o, o, o, o, o },
                new[] { o, o, o, o, o, o, o, o },
                new[] { o, o, o, o, o, o, o, o },
                new[] { pb, o, o, o, o, o, o, o },
                new[] { o, o, o, o, kw, o, o, rw }
            };
            game = new ChessGame(board, Player.White);
            type = game.ApplyMove(new Move("E1", "G1", Player.White), true);
            Assert.AreEqual(type, MoveType.Move | MoveType.Castling);
            type = game.ApplyMove(new Move("A2", "A1", Player.Black, 'Q'), true);
            Assert.AreEqual(type, MoveType.Move | MoveType.Promotion);
            type = game.ApplyMove(new Move("B7", "A8", Player.White, 'Q'), true);
            Assert.AreEqual(type, MoveType.Move | MoveType.Capture | MoveType.Promotion);
        }
ChessGameTests