public void GetReportTest()
        {
            string text  = new TestData().AllText;
            var    doc   = XDocument.Parse(text);
            var    table = new PerfDataLoader().GetItem(doc);

            var para = new LandingParameters(
                55000.0,
                3000.0,
                1000.0,
                -10.0,
                -1.0,
                15.0,
                1013.0,
                5.0,
                ReverserOption.NoRev,
                SurfaceCondition.Good,
                0,
                0);

            var report = new LandingReportGenerator(table, para).GetReport();

            AssertMainResult(report, para, table);
            AssertOtherResult(report, para, table);
        }
예제 #2
0
        public void Compute(object sender, EventArgs e)
        {
            try
            {
                var para = new BoeingParameterValidator(elements).Validate();
                if (!CheckWeight(para))
                {
                    return;
                }

                var report = new LandingReportGenerator((BoeingPerfTable)acPerf.Item, para)
                             .GetReport();

                var text = report.ToString((LengthUnit)elements.lengthUnit.SelectedIndex);

                // To center the text in the richTxtBox
                elements.result.Text = text.ShiftToRight(14);

                CalculationCompleted?.Invoke(this, EventArgs.Empty);
                elements.result.ForeColor = Color.Black;
            }
            catch (InvalidUserInputException ex)
            {
                parentControl.ShowWarning(ex.Message);
            }
            catch (RunwayTooShortException)
            {
                parentControl.ShowWarning("Runway length is insufficient for landing.");
            }
        }