public void TestKnightInvalidMovement() { ChessBoard cb = new ChessBoard (); Knight kn = new Knight (cb [4, 4], "B"); cb [4, 4].PlacePiece (kn); Assert.IsFalse(kn.CheckMovementRule(cb[3,3], cb)); Assert.IsFalse(kn.CheckMovementRule(cb[7,7], cb)); Assert.IsFalse(kn.CheckMovementRule(cb[4, 3], cb)); Assert.AreEqual (kn.MovePiece (cb [4, 3], cb), "Invalid move"); Assert.AreNotSame (kn.Grid, cb [4, 3]); Assert.AreSame (kn.Grid, cb [4, 4]); }
public void TestKnightMovementOnEmpty() { ChessBoard cb = new ChessBoard (); Knight kn = new Knight (cb [4, 4], "B"); cb [4, 4].PlacePiece (kn); Assert.IsTrue(kn.CheckMovementRule(cb[6, 5], cb)); Assert.IsTrue(kn.CheckMovementRule(cb[5, 6], cb)); Assert.IsTrue(kn.CheckMovementRule(cb[3, 2], cb)); Assert.IsTrue(kn.CheckMovementRule(cb[2, 3], cb)); Assert.IsTrue(kn.CheckMovementRule(cb[3, 6], cb)); Assert.IsTrue(kn.CheckMovementRule(cb[6, 3], cb)); Assert.IsTrue(kn.CheckMovementRule(cb[2, 5], cb)); Assert.IsTrue(kn.CheckMovementRule(cb[5, 2], cb)); Assert.IsNull (kn.MovePiece (cb [5, 2], cb)); Assert.AreEqual (kn.Grid, cb [5, 2]); }