public void Throws_If_ElecHobbs_Null_But_Req() { var opts = new AircraftOptions(true, false, false, false, false, false); var times = new AircraftTimes(0m, 0m, 0m, 0m, null, 0m, 0m, 0, _default); Assert.Throws <InvalidTimesException>(() => new Aircraft("", "", 0, 0, times, opts)); }
public double CalculateFuelConsumptionInLiter(Flight flight, AircraftOptions aircraftOptions) { double fuelConsumptionInLiter = (flight.DistanceInKilometer * aircraftOptions.FuelConsumptionInLiterPerKilometer) + aircraftOptions.TakeoffFuelConsumptionInLiter; return(fuelConsumptionInLiter); }
public void Throws_If_Cycles_Given_But_NotReq() { var opts = new AircraftOptions(false, false, false, false, false, false); var times = new AircraftTimes(0m, 0m, 0m, 0m, null, null, null, 0, _default); Assert.Throws <InvalidTimesException>(() => new Aircraft("", "", 0, 0, times, opts)); }
public FlightController(IFlightService flightService, ILogger <FlightController> logger, IOptions <AircraftOptions> aircraftOptionsAccessor, IMapper mapper) { this.flightService = flightService; this.logger = logger; aircraftOptions = aircraftOptionsAccessor.Value; this.mapper = mapper; }
public void UpdateFlight(Flight flight, AircraftOptions aircraftOptions) { flight.DepartureAirport = airportRepository.GetById(flight.DepartureAirportId); flight.DestinationAirport = airportRepository.GetById(flight.DestinationAirportId); flight.DistanceInKilometer = this.CalculateFlightDistanceInKilometer(flight); flight.FuelConsumptionInLiter = this.CalculateFuelConsumptionInLiter(flight, aircraftOptions); flightRepository.Update(flight); }
public void Throws_If_Airtime_Given_But_NotReq() { var opts = new AircraftOptions(false, false, false, false, false, false); var curr = new AircraftTimes(0m, 0m, 0m, 0m, null, 0m, null, null, _default); var total = new AircraftTimes(0m, 0m, 0m, 0m, null, null, 0m, null, _default); // Check both Curr and Total Assert.Throws <InvalidTimesException>(() => new Aircraft("", "", 0, 0, curr, opts)); Assert.Throws <InvalidTimesException>(() => new Aircraft("", "", 0, 0, total, opts)); }
public void Throws_If_Airtime_Null_But_Req() { var opts = new AircraftOptions(false, true, false, false, false, false); var noCurr = new AircraftTimes(0m, 0m, 0m, 0m, 0m, null, 0m, 0, _default); var noTotal = new AircraftTimes(0m, 0m, 0m, 0m, 0m, 0m, null, 0, _default); // Check both Curr and Total Assert.Throws <InvalidTimesException>(() => new Aircraft("", "", 0, 0, noCurr, opts)); Assert.Throws <InvalidTimesException>(() => new Aircraft("", "", 0, 0, noTotal, opts)); }
public void Throws_On_Invalid_Target(AircraftTotalTarget invalidTgt) { // Create barebones single-engine AircraftOptions // IMPORTANT - Engine1Current is always a valid target. var opts = new AircraftOptions(false, false, false, false, false, false); var times = new AircraftTimes(0m, 0m, 0m, 0m, null, null, null, null, invalidTgt); // Create an aircraft that does not ever have Airtime or ElecHobbs data // while also passing in targets pointing to those properties. Assert.Throws <InvalidTargetException>(() => new Aircraft("", "", 0, 0, times, opts)); }
public void Throws_If_Twin_But_Null_On_Creation() { var opts = new AircraftOptions(false, false, false, false, true, false); var times = new AircraftTimes(0m, 0m, 0m, 0m, null, null, null, null, AircraftTotalTarget.Engine1Current); // Start with eng2Curr null, then try each other (decimals not supported in InlineData) // eng2Curr times.SetTwinTimes(null, 0m, 0m); Assert.Throws <InvalidTimesException>(() => new Aircraft("", "", 0, 0, times, opts)); // eng2Total times.SetTwinTimes(0m, null, 0m); Assert.Throws <InvalidTimesException>(() => new Aircraft("", "", 0, 0, times, opts)); // prop2Total times.SetTwinTimes(0m, 0m, null); Assert.Throws <InvalidTimesException>(() => new Aircraft("", "", 0, 0, times, opts)); }
public void CalculateFuelConsumptionInLiter_NearFlight_GetFuelConsumption() { // // Arrange Flight flight = FlightsProvider.GetNearFlight(); AircraftOptions aircraftOptions = new AircraftOptions() { FuelConsumptionInLiterPerKilometer = 3.628, TakeoffFuelConsumptionInLiter = 2.392 }; FlightService flightService = new FlightService(flightRepository, airportRepository, unitOfWork); flight.DistanceInKilometer = flightService.CalculateFlightDistanceInKilometer(flight); // // Act var result = flightService.CalculateFuelConsumptionInLiter(flight, aircraftOptions); // // Assert Assert.Equal(2037, Math.Round(result)); }
public void IsSimulator_Overrides_Twin_And_Tailwheel() { var ac = new AircraftOptions(false, false, false, true, true, true); Assert.True(ac.IsSimulator == true && ac.IsTwin == false && ac.IsTailWheel == false); }