public void GetEvents_Returns_200_OK_For_Events()
        {
            //Arrange
            var eventService = new StubIEventsService()
            {
                GetEvents = () => EventTestData.SingleEvent
            };

            EventsController sut = new EventsController(eventService);
            ContextConfigure.SetupController(sut, "events");

            //acct
            HttpResponseMessage response = sut.GetEvents();

            //Assert
            Assert.True(response.StatusCode == HttpStatusCode.OK);
        }
        public void GetEvents_Returns_204_NoContent_For_No_Events()
        {
            //Arrange
            var eventService = new StubIEventsService() {
                GetEvents = () => Enumerable.Empty<Event>()
            };

            EventsController sut = new EventsController(eventService);

            ContextConfigure.SetupController(sut, "events");

            //acct
            HttpResponseMessage response =  sut.GetEvents();

            //Assert
            Assert.True(response.StatusCode == HttpStatusCode.NoContent);
        }
        public async void GetEvents_Returns_Correct_Events()
        {
            //Arrange
            var eventService = new StubIEventsService()
            {
                GetEvents = () => EventTestData.MultipleEvents
            };

            EventsController sut = new EventsController(eventService);

            ContextConfigure.SetupController(sut, "events");

            //acct
            HttpResponseMessage response = sut.GetEvents();
            var results = await response.Content.ReadAsAsync<IEnumerable<Event>>();
            results.First().Description = results.First().Host = "";

            //Assert
            Assert.Equal(results, EventTestData.MultipleEvents);
            Assert.Equal(results.Count(), EventTestData.MultipleEvents.Count());            
        }