Esempio n. 1
0
        public void ValidateNoTOLdgPerfFileSelectedShouldPass()
        {
            var manager = new AcConfigManager();
            var txt     = AircraftConfigItem.NoFuelTOLdgProfileText;

            manager.Add(new AircraftConfig(
                            new AircraftConfigItem("B777-300ER",
                                                   "B-12345",
                                                   txt,
                                                   txt,
                                                   txt,
                                                   123456.0,
                                                   234567.0,
                                                   345678.0,
                                                   456789.0,
                                                   567890.0,
                                                   1.0,
                                                   WeightUnit.KG),
                            "path"));

            Assert.IsNull(manager.Validate(
                              new FuelData[0],
                              new List <TOCalc.PerfTable>(),
                              new List <LdgCalc.PerfTable>()));
        }
Esempio n. 2
0
        public void Init(
            AcConfigManager aircrafts,
            List <PerfTable> tables,
            AirportManager airports,
            Func <AircraftRequest> acRequestGetter)
        {
            airportInfoControl.Init();

            // Create the reference to the UI controls.
            InitializeElements();

            // Set default values for the controls.
            InitializeControls();

            SetWeatherBtnHandlers();

            requestBtn.SetToolTip("Use aircraft and weights calculated from 'Fuel' page.");

            // Automatically update weather
            airportInfoControl.IcaoChanged += (s, e) => wxSetter.GetMetarAndFillWeather();

            this.aircrafts = aircrafts;
            this.tables    = tables;
            UpdateAircraftList();
            this.Airports        = airports;
            this.acRequestGetter = acRequestGetter;
        }
        public void ClearTest()
        {
            var manager = new AcConfigManager();

            manager.Add(config1);
            manager.Clear();

            Assert.AreEqual(0, manager.Count);
        }
        public void AddTest()
        {
            var manager = new AcConfigManager();

            manager.Add(config1);
            manager.Add(config2);

            Assert.AreEqual(2, manager.Count);
        }
        public void ValidateFileDoesNotExistShouldReturnError()
        {
            var manager = new AcConfigManager();

            manager.Add(config1);

            Assert.IsNotNull(manager.Validate(
                                 new FuelData[0], new TOTable[0], new LdgTable[0]));
        }
        public void FindByRegistrationTest()
        {
            var manager = new AcConfigManager();

            manager.Add(config1);

            var result = manager.Find(config1.Config.Registration);

            Assert.IsNotNull(result);
            Assert.AreEqual(config1, result);
        }
        public void FindAircraftTest()
        {
            var manager = new AcConfigManager();

            manager.Add(config1);
            manager.Add(config2);

            var result = manager.FindAircraft(config1.Config.AC).ToList();

            Assert.AreEqual(2, result.Count);
            Assert.IsTrue(result.Contains(config1));
            Assert.IsTrue(result.Contains(config2));
        }
        public void RemoveTest()
        {
            var manager = new AcConfigManager();

            manager.Add(config1);
            manager.Add(config2);
            manager.Remove(config1.Config.Registration);

            Assert.AreEqual(1, manager.Count);

            var ac2 = manager.Find(config2.Config.Registration);

            Assert.AreEqual(config2, ac2);
        }
Esempio n. 9
0
        public void Init(
            AcConfigManager aircrafts,
            List <PerfTable> tables,
            AirportManager airports,
            Func <AircraftRequest> acRequestGetter)
        {
            InitControls();

            this.aircrafts = aircrafts;
            this.tables    = tables;
            UpdateAircraftList();
            this.Airports        = airports;
            this.acRequestGetter = acRequestGetter;
        }
Esempio n. 10
0
        private LoadResult LoadConfig()
        {
            var manager = new AcConfigManager();
            var configs = ConfigLoader.LoadAll();
            var err     = configs.ErrorMessage;

            foreach (var i in configs.Result)
            {
                manager.Add(i);
            }
            return(new LoadResult()
            {
                Result = manager, ErrorMessage = err
            });
        }
Esempio n. 11
0
        public void ValidateFileExistShouldPass()
        {
            var manager = new AcConfigManager();

            manager.Add(config1);

            var fuelTable = new FuelData(null, "Boeing 777-300ER", "");

            var toFile  = new QSP.TOPerfCalculation.Entry("Boeing 777-300ER", "");
            var toTable = new TOTable(null, toFile);

            var ldgFile  = new QSP.LandingPerfCalculation.Entry("Boeing 777-300ER", "");
            var ldgTable = new LdgTable(null, ldgFile);

            Assert.IsNull(manager.Validate(
                              new[] { fuelTable }, new[] { toTable }, new[] { ldgTable }));
        }
Esempio n. 12
0
        /// <summary>
        /// Return values are null if not found.
        /// </summary>
        public static (AircraftConfig, PerfTable) Find(IReadOnlyList <PerfTable> tables,
                                                       AcConfigManager aircrafts, string registration)
        {
            if (tables != null && tables.Count > 0)
            {
                var config = aircrafts.Find(registration);
                if (config == null)
                {
                    return(null, null);
                }
                var ac          = config.Config;
                var profileName = ac.TOProfile;
                return(config, tables.First(t => t.Entry.ProfileName == profileName));
            }

            return(null, null);
        }
Esempio n. 13
0
        public void Init(
            Locator <AppOptions> appOptionsLocator,
            AirwayNetwork airwayNetwork,
            ProcedureFilter procFilter,
            Locator <CountryCodeManager> countryCodeLocator,
            Locator <IWindTableCollection> windTableLocator,
            AcConfigManager aircrafts,
            IEnumerable <FuelData> fuelData)
        {
            this.appOptionsLocator  = appOptionsLocator;
            this.airwayNetwork      = airwayNetwork;
            this.procFilter         = procFilter;
            this.countryCodeLocator = countryCodeLocator;
            this.windTableLocator   = windTableLocator;
            this.aircrafts          = aircrafts;
            this.fuelData           = fuelData;
            checkedCodesLocator     = new CountryCodeCollection().ToLocator();

            SetDefaultState();
            SetOrigDestControllers();
            SetAltnController();
            SetRouteOptionControl();
            SetRouteActionControl();
            SetWeightController();
            SetAircraftSelection();
            SetBtnColorStyles();

            wtUnitComboBox.SelectedIndex = 0;
            SubscribeEventHandlers();
            advancedRouteTool = new AdvancedRouteTool();
            advancedRouteTool.Init(
                appOptionsLocator,
                airwayNetwork,
                countryCodeLocator,
                checkedCodesLocator,
                procFilter,
                () => GetWindCalculator());

            if (acListComboBox.Items.Count > 0)
            {
                acListComboBox.SelectedIndex = 0;
            }

            LoadSavedState();
        }
Esempio n. 14
0
 public FuelPlanningModel(
     AirwayNetwork AirwayNetwork,
     Locator <AppOptions> AppOption,
     Locator <CountryCodeManager> CountryCodeManager,
     Locator <CountryCodeCollection> CheckedCountryCodes,
     ProcedureFilter ProcFilter,
     Locator <IWxTableCollection> WindTables,
     AcConfigManager Aircrafts,
     IEnumerable <FuelData> FuelData)
 {
     this.AirwayNetwork       = AirwayNetwork;
     this.AppOption           = AppOption;
     this.CountryCodeManager  = CountryCodeManager;
     this.CheckedCountryCodes = CheckedCountryCodes;
     this.ProcFilter          = ProcFilter;
     this.WindTables          = WindTables;
     this.Aircrafts           = Aircrafts;
     this.FuelData            = FuelData;
 }