public async Task GetGameByIdAsync_ReturnsGameResultForGivenId()
        {
            //Arrange
            var  results        = _fixture.Create <GetGameResults>();
            Guid expectedGameId = Guid.Empty;

            var game = _fixture.Create <Game>();

            _mockGameRepository
            .Setup(exec =>
                   exec.GetGameByIdAsync(
                       It.IsAny <Guid>(),
                       It.IsAny <CancellationToken>()))
            .Callback <Guid, CancellationToken>((gameIdPassed, ct) =>
            {
                expectedGameId = gameIdPassed;
            })
            .ReturnsAsync(game);

            //Act
            var result = await _gameController
                         .GetGameByIdAsync(game.Id) as OkObjectResult;

            //Assert
            _mockGameRepository
            .Verify(exec =>
                    exec.GetGameByIdAsync(
                        It.IsAny <Guid>(),
                        It.IsAny <CancellationToken>()),
                    Times.Once);

            result
            .Should()
            .NotBeNull();

            result.StatusCode
            .Should()
            .Be((int)HttpStatusCode.OK);

            var gameResult = result.Value as GetGameResults;

            gameResult.Id
            .Should()
            .Be(expectedGameId);
        }