public async Task NoGreetingsShouldReturnNoContentAsyncTest()
        { 
            var action = A.Fake<IGetLastTenGreetingsAction>();
            A.CallTo(() => action.ExecuteAsync()).Returns(new SavedGreeting[0]);
            var actionFactory = A.Fake<IActionFactory>();
            A.CallTo(() => actionFactory.CreateGetLastTenGreetingsAction()).Returns(action);
            var sut = new HelloWorldController(actionFactory);

            var response = await sut.GetLastTenGreetingsAsync();

            response.Should().NotBeNull();
            var okResponse = response.As<NoContentResult>();
            okResponse.Should().NotBeNull();
        }
        public async Task SomeGreetingsShouldReturnGreetingsAsyncTest()
        { 
            var action = A.Fake<IGetLastTenGreetingsAction>();
            A.CallTo(() => action.ExecuteAsync()).Returns(new []{new SavedGreeting{Greeting = "mygreeting"}});
            var actionFactory = A.Fake<IActionFactory>();
            A.CallTo(() => actionFactory.CreateGetLastTenGreetingsAction()).Returns(action);
            var sut = new HelloWorldController(actionFactory);

            var response = await sut.GetLastTenGreetingsAsync();

            var okResponse = response.As<OkObjectResult>();
            okResponse.Should().NotBeNull();
            okResponse.StatusCode.Should().Be((int)HttpStatusCode.OK);
            var content = okResponse.Value.As<SavedGreeting[]>();
            content.Should().NotBeNull();
            content[0].Greeting.Should().Be("mygreeting");
        }