Exemplo n.º 1
0
        public async void CanGetTopTenNumberOfFlightsForOrigins()
        {
            // Arrange
            var items =
                Builder <FlightDc>
                .CreateListOfSize(102)
                .TheFirst(10)
                .With(x => x.Dest   = "Top1")
                .With(x => x.Origin = "EWR")
                .TheNext(10)
                .With(x => x.Dest   = "Top2")
                .With(x => x.Origin = "JFK")
                .TheNext(10)
                .With(x => x.Dest   = "Top3")
                .With(x => x.Origin = "LGA")
                .TheNext(10)
                .With(x => x.Dest   = "Top4")
                .With(x => x.Origin = "EWR")
                .TheNext(10)
                .With(x => x.Dest   = "Top5")
                .With(x => x.Origin = "JFK")
                .TheNext(10)
                .With(x => x.Dest   = "Top6")
                .With(x => x.Origin = "LGA")
                .TheNext(10)
                .With(x => x.Dest   = "Top7")
                .With(x => x.Origin = "EWR")
                .TheNext(10)
                .With(x => x.Dest   = "Top8")
                .With(x => x.Origin = "JFK")
                .TheNext(10)
                .With(x => x.Dest = "Top9BadOrigin")
                .TheNext(10)
                .With(x => x.Dest = "Top10BadOrigin")
                .TheNext(1)
                .With(x => x.Dest   = "1")
                .With(x => x.Origin = "LGA")
                .TheNext(1)
                .With(x => x.Dest   = "2")
                .With(x => x.Origin = "EWR")

                .Build();

            context.Flights.AddRange(items);
            context.SaveChanges();

            //Act
            var result = await flightsRepository.GetTopTenNumberOfFlightsForOrigins();

            //Assert
            Assert.Equal(10, result.Count());

            Assert.Contains(result, x => x.AirportName == "Top1");
            Assert.Contains(result, x => x.AirportName == "Top2");
            Assert.Contains(result, x => x.AirportName == "Top3");
            Assert.Contains(result, x => x.AirportName == "Top4");
            Assert.Contains(result, x => x.AirportName == "Top5");
            Assert.Contains(result, x => x.AirportName == "Top6");
            Assert.Contains(result, x => x.AirportName == "Top7");
            Assert.Contains(result, x => x.AirportName == "Top8");
            Assert.Contains(result, x => x.AirportName == "1");
            Assert.Contains(result, x => x.AirportName == "2");
            Assert.DoesNotContain(result, x => x.AirportName == "Top9BadOrigin");
            Assert.DoesNotContain(result, x => x.AirportName == "Top10BadOrigin");
        }