Пример #1
0
        public void TestCapturePossibility()
        {
            ChessBoard cb = new ChessBoard ();
            Bishop bsh = new Bishop (cb [4, 4], "B");
            cb [4, 4].PlacePiece (bsh);

            //Check attempt to capture same color piece
            cb [1, 1].PlacePiece (new Bishop(cb[1, 1], "B"));
            cb [6, 6].PlacePiece (new Bishop(cb[6, 6], "B"));
            cb [2, 6].PlacePiece (new Bishop(cb[2, 6], "B"));
            cb [6, 2].PlacePiece (new Bishop(cb[6, 2], "B"));
            Assert.IsFalse (bsh.CheckMovementRule (cb [1, 1], cb));
            Assert.IsFalse(bsh.CheckMovementRule (cb [6, 6], cb));
            Assert.IsFalse (bsh.CheckMovementRule (cb [2, 6], cb));
            Assert.IsFalse (bsh.CheckMovementRule (cb [6, 2], cb));

            //Check attempt to capture different color piece
            cb [1, 1].PlacePiece (new Bishop(cb[1, 1], "W"));
            cb [6, 6].PlacePiece (new Bishop(cb[6, 6], "W"));
            cb [2, 6].PlacePiece (new Bishop(cb[2, 6], "W"));
            cb [6, 2].PlacePiece (new Bishop(cb[6, 2], "W"));
            Assert.IsTrue (bsh.CheckMovementRule (cb [1, 1], cb));
            Assert.IsTrue(bsh.CheckMovementRule (cb [6, 6], cb));
            Assert.IsTrue (bsh.CheckMovementRule (cb [2, 6], cb));
            Assert.IsTrue (bsh.CheckMovementRule (cb [6, 2], cb));
        }
Пример #2
0
        public void TestMovement()
        {
            ChessBoard cb = new ChessBoard ();
            Bishop bsh = new Bishop (cb [4, 4], "B");
            cb [4, 4].PlacePiece (bsh);

            //Test correct movement
            Assert.IsTrue(bsh.CheckMovementRule (cb [6, 6], cb));
            Assert.IsNull (bsh.MovePiece (cb [6, 6], cb));
            Assert.AreSame (bsh.Grid, cb [6, 6]);

            //Test invalid movement
            Assert.IsFalse (bsh.CheckMovementRule (cb[4, 3], cb));
            Assert.AreEqual (bsh.MovePiece (cb [4, 3], cb), "Invalid move");
            Assert.AreSame (bsh.Grid, cb [6, 6]);
        }