public void Calculate_should_calculate_flights_based_on_days_in_date_period() { var request = FlightCalculationTestBuilder.New() .WithFlightCalculationRequestTestBuilder() .WithDestination("DXB") .WithOrigin("IKA") .WithFlightNumber("WS-20") .WithFrom(CreateDateTime(2018, 09, 30)) .WithTo(CreateDateTime(2018, 10, 15)) .WithWeeklyTimeTable(CreateWeeklyTimetable(DayOfWeek.Monday, _nine, _tenThirty)) .WithWeeklyTimeTable(CreateWeeklyTimetable(DayOfWeek.Wednesday, _twentyThirty, _twentyTwo)) .Build(); var flightBuilder = new FlightTestBuilder() .WithFlightNumber("WS-20") .WithOrigin("IKA") .WithDestination("DXB"); var expectedFlights = new List <Flight>() { CreateFlightForMonday(1), CreateFlightForWednesday(3), CreateFlightForMonday(8), CreateFlightForWednesday(10), CreateFlightForMonday(15), }; var sut = new FlightCalculationService(); var calculatedFlights = sut.Calculate(request); calculatedFlights.Should().BeEquivalentTo(expectedFlights); }
public FlightCalculationTests() { this._flightBuilder = new FlightTestBuilder(); this._nine = new TimeSpan(9, 0, 0); this._tenThirty = new TimeSpan(10, 30, 0); this._twentyThirty = new TimeSpan(20, 30, 0); this._twentyTwo = new TimeSpan(22, 00, 0); }
public void Should_save_flight() { var flight = new FlightTestBuilder().Build(); var repository = new FlightRepository(this.DbContext); repository.Add(flight); ClearChangeTracker(); var actualFlight = repository.GetById(flight.Id); actualFlight.Should().BeEquivalentTo(flight); }
public void Get_should_return_flights_based_on_flight_number() { var repository = new FakeFlightRepository(); var flight = new FlightTestBuilder().Build(); repository.Add(flight); var expectedFlight = new FlightDto() { FlightNumber = flight.FlightNumber, Destination = flight.Route.Destination, DepartDate = flight.DepartDate, ArriveDate = flight.ArriveDate, Id = flight.Id, Origin = flight.Route.Origin }; var service = new FlightGenerationService(repository, null); var actualFlights = service.Get(flight.FlightNumber); actualFlights.Count.Should().Be(1); actualFlights.Should().AllBeEquivalentTo(expectedFlight); }
public FlightTests() { this._flightBuilder = new FlightTestBuilder(); }