コード例 #1
0
        private FlightViewModel CreateDefaultEditFlightViewModel(string flightId)
        {
            var flight = _database.GetFlightsById(new[] { Guid.Parse(flightId) }).Single();

            return(new FlightViewModel
            {
                Flights = new[]
                {
                    new FlightModel(
                        flight.Id.ToString(),
                        flight.Departure,
                        flight.Destination,
                        flight.AircraftFuelConsumptionLitersPerKm,
                        flight.AircraftFuelConsumptionTakeoffEffort,
                        $"{_flightsManager.GetTotalFuelConsumption(flight.Id):0.###} Liters")
                },

                AvailableAirports = _database.GetAllAirports()
                                    .Select(a => new SelectListItem {
                    Value = a.InternalName, Text = a.UserFriendlyName
                }),

                NewFlightDepartureAirport = flight.Departure.InternalName,
                NewFlightArrivalAirport = flight.Destination.InternalName,

                NewFuelConsumptionLitersPerKm = flight.AircraftFuelConsumptionLitersPerKm,
                NewFuelConsumptionTakeoffEffortInLiters = flight.AircraftFuelConsumptionTakeoffEffort,
            });
        }
コード例 #2
0
        public void WhenGettingFuelConsumptionForFlight_GivenFlight_ShouldComputeCorrectFuelRequired()
        {
            //https://www.movable-type.co.uk/scripts/latlong.html
            //https://gps-coordinates.org/distance-between-coordinates.php
            //Distance computed for '5.0, 10.0' -> '20.0, 25.0'
            var expectedDistanceInKm            = 2327.12;
            var expectedInFlightFuelConsumption = expectedDistanceInKm * _testFlight.AircraftFuelConsumptionLitersPerKm;
            var expectedTotalFuelconsumption    = expectedInFlightFuelConsumption + _testFlight.AircraftFuelConsumptionTakeoffEffort;

            _databaseMock.Setup(d => d.GetFlightsById(It.Is <Guid[]>(t => t[0] == _testFlightId))).Returns(new[] { _testFlight });

            var totalFuelConsumption = _flightsManager.GetTotalFuelConsumption(_testFlightId);

            Assert.Equal(expectedTotalFuelconsumption, totalFuelConsumption, 1);
        }