private static void AssertRwyRemaining(TOReport report,
                                               TOCalculator calc,
                                               TOParameters para)
        {
            var    primary           = report.PrimaryResult;
            double expectedRemaining = para.RwyLengthMeter -
                                       calc.TakeoffDistanceMeter(primary.OatCelsius);

            Assert.AreEqual(expectedRemaining, primary.RwyRemainingMeter, 0.5);

            foreach (var i in report.AssumedTemp)
            {
                expectedRemaining = para.RwyLengthMeter -
                                    calc.TakeoffDistanceMeter(i.OatCelsius);

                Assert.AreEqual(expectedRemaining, i.RwyRemainingMeter, 0.5);
            }
        }
        private static void AssertReport(TOReport report,
                                         TOCalculator calc,
                                         TOParameters para)
        {
            // Rwy remaining
            AssertRwyRemaining(report, calc, para);

            // Primary result.
            var primary = report.PrimaryResult;

            Assert.AreEqual(para.OatCelsius, primary.OatCelsius, 0.5);

            double expectedDis = calc.TakeoffDistanceMeter(primary.OatCelsius);

            Assert.AreEqual(expectedDis, primary.RwyRequiredMeter, 0.5);

            // Assumed temperatures
            foreach (var i in report.AssumedTemp)
            {
                expectedDis = calc.TakeoffDistanceMeter(i.OatCelsius);
                Assert.AreEqual(expectedDis, i.RwyRequiredMeter, 0.5);
            }
        }