public void WarpDurationFrigate()
        {
            var warpSpeed    = 5;
            var subwarpSpeed = 200;

            var testCases = new WarpDurationCase[] {
                new WarpDurationCase()
                {
                    Distance         = 150000,
                    ExpectedDuration = 7,
                    Description      = "150 km"
                },
                new WarpDurationCase()
                {
                    Distance         = 1000000000,
                    ExpectedDuration = 14,
                    Description      = "1,000,000 km"
                },
                new WarpDurationCase()
                {
                    Distance         = 1 * NavigationMath.AU_TO_M,
                    ExpectedDuration = 18,
                    Description      = "1 AU"
                },
                new WarpDurationCase()
                {
                    Distance         = 2 * NavigationMath.AU_TO_M,
                    ExpectedDuration = 19,
                    Description      = "2 AU"
                },
                new WarpDurationCase()
                {
                    Distance         = 5 * NavigationMath.AU_TO_M,
                    ExpectedDuration = 19,
                    Description      = "5 AU"
                },
                new WarpDurationCase()
                {
                    Distance         = 10 * NavigationMath.AU_TO_M,
                    ExpectedDuration = 20,
                    Description      = "10 AU"
                },
            };

            DoTestCases(testCases, warpSpeed, subwarpSpeed);
        }
        public void WarpDurationCruiserIndustrial()
        {
            var warpSpeed    = 3;
            var subwarpSpeed = 200;

            var testCases = new WarpDurationCase[] {
                new WarpDurationCase()
                {
                    Distance         = 150000,
                    ExpectedDuration = 11,
                    Description      = "150 km"
                },
                new WarpDurationCase()
                {
                    Distance         = 1000000000,
                    ExpectedDuration = 23,
                    Description      = "1,000,000 km"
                },
                new WarpDurationCase()
                {
                    Distance         = 1 * NavigationMath.AU_TO_M,
                    ExpectedDuration = 29,
                    Description      = "1 AU"
                },
                new WarpDurationCase()
                {
                    Distance         = 2 * NavigationMath.AU_TO_M,
                    ExpectedDuration = 30,
                    Description      = "2 AU"
                },
                new WarpDurationCase()
                {
                    Distance         = 5 * NavigationMath.AU_TO_M,
                    ExpectedDuration = 32,
                    Description      = "5 AU"
                },
                new WarpDurationCase()
                {
                    Distance         = 10 * NavigationMath.AU_TO_M,
                    ExpectedDuration = 33,
                    Description      = "10 AU"
                },
            };

            DoTestCases(testCases, warpSpeed, subwarpSpeed);
        }
        public void WarpDurationInterceptor()
        {
            var warpSpeed    = 8;
            var subwarpSpeed = 200;

            var testCases = new WarpDurationCase[] {
                new WarpDurationCase()
                {
                    Distance         = 150000,
                    ExpectedDuration = 6,
                    Description      = "150 km"
                },
                new WarpDurationCase()
                {
                    Distance         = 1000000000,
                    ExpectedDuration = 11,
                    Description      = "1,000,000 km"
                },
                new WarpDurationCase()
                {
                    Distance         = 1 * NavigationMath.AU_TO_M,
                    ExpectedDuration = 14,
                    Description      = "1 AU"
                },
                new WarpDurationCase()
                {
                    Distance         = 2 * NavigationMath.AU_TO_M,
                    ExpectedDuration = 15,
                    Description      = "2 AU"
                },
                new WarpDurationCase()
                {
                    Distance         = 5 * NavigationMath.AU_TO_M,
                    ExpectedDuration = 15,
                    Description      = "5 AU"
                },
                new WarpDurationCase()
                {
                    Distance         = 10 * NavigationMath.AU_TO_M,
                    ExpectedDuration = 16,
                    Description      = "10 AU"
                },
            };

            DoTestCases(testCases, warpSpeed, subwarpSpeed);
        }