示例#1
0
        public void PlannerClass_GetMinimumSurfaceInterval_SelectedValuesAndEdgeCases()
        {
            _classUnderTest.GetMinimumSurfaceInterval('A', 0, 0).AssertHasSamePropertyValues(new SurfaceInterval('A', new TimeSpan(0, 0, 0), new TimeSpan(0, 3, 0), 'A', 10, 209));

            _classUnderTest.GetMinimumSurfaceInterval('A', 40, 7).AssertHasSamePropertyValues(new SurfaceInterval('A', new TimeSpan(0, 0, 0), new TimeSpan(0, 3, 0), 'A', 2, 7));

            // can't do this dive. Max mins = 6
            Assert.IsNull(_classUnderTest.GetMinimumSurfaceInterval('C', 40, 8), "Unexpected minimum surface interval");

            // M -> J after 15 mins allowing for 20 mins @ 20 metres
            _classUnderTest.GetMinimumSurfaceInterval('M', 20, 20).AssertHasSamePropertyValues(new SurfaceInterval('M', new TimeSpan(0, 15, 0), new TimeSpan(0, 19, 0), 'J', 25, 20));

            // Surface interval out of range of table. Should return an 'A'
            _classUnderTest.GetMinimumSurfaceInterval('Z', 10, 20, new TimeSpan(7, 0, 0)).AssertHasSamePropertyValues(new SurfaceInterval('Z', new TimeSpan(3, 0, 0), new TimeSpan(6, 0, 0), 'A', 10, 209));
        }