public async Task UpdateAsync_VerifyGameState()
        {
            //Arrange
            string newState = "[[true,false],[false,false]]";
            var    game     = new Game()
            {
                Id           = 2,
                InitialState = "[[false,false],[true,true]]"
            };

            var returnedGame = new Game()
            {
                Id           = game.Id,
                InitialState = newState
            };

            var userMock = new Mock <IHistoryQuery>();

            userMock.Setup(x => x.UpdateAsync(game.Id, game)).ReturnsAsync(returnedGame);
            var service = new GameHistoryController(userMock.Object);

            //Act
            var result = await service.PutOne(game.Id, game) as OkObjectResult;

            var actualResult = result.Value;

            //Assert
            Assert.Equal(returnedGame, (Game)actualResult);
        }
        public async Task UpdateAsync_VerifyInvalidGameState()
        {
            //Arrange
            Game   returnedGame = null;
            string newState     = "";
            var    game         = new Game()
            {
                Id           = 2,
                InitialState = "[[false,false],[true,true]]"
            };

            game.InitialState = newState;

            var userMock = new Mock <IHistoryQuery>();

            userMock.Setup(x => x.UpdateAsync(game.Id, game)).ReturnsAsync(returnedGame);
            var service = new GameHistoryController(userMock.Object);

            //Act
            var result = await service.PutOne(game.Id, game) as NotFoundResult;

            //Assert
            Assert.IsType <NotFoundResult>(result);
        }