public void Pawn_MoveForward_Encounters_Pawn_With_SameColor_DoesNotUpdateCoordinates() { int i = 1; while (i < 5) { blackPawn1.TryMoveForward(1); blackPawn2.TryMoveForward(1); i++; } blackPawn1.TryMoveDiagonalRightForward(1); //Precondition Assert.AreEqual(new Position(1, 4), blackPawn1.CurrentPosition); Assert.IsFalse(chessBoard.Cells[1, 4].IsEmpty); Assert.AreEqual(new Position(2, 4), blackPawn2.CurrentPosition); Assert.IsFalse(chessBoard.Cells[2, 4].IsEmpty); Assert.IsFalse(blackPawn2.TryMoveForward(1)); Assert.AreEqual(new Position(1, 4), blackPawn1.CurrentPosition); Assert.IsFalse(chessBoard.Cells[1, 4].IsEmpty); Assert.AreEqual(new Position(2, 4), blackPawn2.CurrentPosition); Assert.IsFalse(chessBoard.Cells[2, 4].IsEmpty); }
public void Pawn_MoveForward_Throws_Exception_If_Already_Captured() { int i = 1; while (i < 5) { blackPawn1.TryMoveForward(1); i++; } Assert.IsTrue(blackPawn1.TryMoveForward(1)); Assert.IsTrue(whitePawn1.IsCaptured); Assert.Throws <InvalidOperationException>(() => whitePawn1.TryMoveForward(1)); }
public void Pawn_MoveForward_Throws_Exception_For_InvalidSteps(int steps) { Assert.Throws <InvalidOperationException>(() => blackPawn1.TryMoveForward(steps)); }