public void CheckMoveShouldReturnOk(PieceType pieceType)
        {
            //Arrange
            var postionFrom       = new BoardPostion(1, 1);
            var postionTo         = new BoardPostion(3, 4);
            var factoryMock       = new Mock <IPieceStrategyFactory>();
            var pieceStrategyMock = new Mock <IPieceStrategy>();

            pieceStrategyMock
            .Setup(x => x.GetAvailableMovesAsync(postionFrom))
            .Returns(Task.FromResult <IEnumerable <BoardPostion> >(new [] { postionTo }));

            factoryMock
            .Setup(x => x.Create(It.IsAny <PieceType>()))
            .Returns(pieceStrategyMock.Object);

            var uut = new BoardService(factoryMock.Object);

            //Act
            var result = uut.CheckMove(pieceType, postionFrom, postionTo).Result;

            //Arrange
            Assert.That(result.Equals(MoveCheckStatus.Ok));
        }