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_Move_Diagonal_Right_Throws_Exception_If_Already_Captured()
        {
            int i = 1;

            while (i < 5)
            {
                blackPawn1.TryMoveForward(1);
                i++;
            }

            Assert.IsTrue(blackPawn1.TryMoveDiagonalRightForward(1));
            Assert.IsTrue(whitePawn2.IsCaptured);

            Assert.Throws <InvalidOperationException>(() => whitePawn2.TryMoveDiagonalRightForward(1));
        }