public void FlatDistance()
        {
            var flatAnalizer = new DistanceAnalizer(_distanceLocationsAnalizer, _flatAnalizer);

            double resultInKilometers = flatAnalizer.AnalizeDistanceInKm(_wayPoints);

            Assert.NotEqual(resultInKilometers, 0);

            _testOutputHelper.WriteLine(resultInKilometers.ToString(CultureInfo.InvariantCulture));
        }
        public void TotalDistance()
        {
            var totalAnalizer = new DistanceAnalizer(_distanceLocationsAnalizer, _anyAreaAnalizer);

            double resultInKilometers = totalAnalizer.AnalizeDistanceInKm(_wayPoints);

            Assert.InRange(resultInKilometers, 4.000, TotalDistanceInKm);

            _testOutputHelper.WriteLine(resultInKilometers.ToString(CultureInfo.InvariantCulture));
        }
        public void DistanceFromAllTypesRoutes()
        {
            var totalAnalizer    = new DistanceAnalizer(_distanceLocationsAnalizer, _anyAreaAnalizer);
            var climbingAnalizer = new DistanceAnalizer(_distanceLocationsAnalizer, _climbingAnalizer);
            var descentAnalizer  = new DistanceAnalizer(_distanceLocationsAnalizer, _descentAnalizer);
            var flatAnalizer     = new DistanceAnalizer(_distanceLocationsAnalizer, _flatAnalizer);

            double totalDistance    = totalAnalizer.AnalizeDistanceInKm(_wayPoints);
            double climbingDistance = climbingAnalizer.AnalizeDistanceInKm(_wayPoints);
            double descentDistance  = descentAnalizer.AnalizeDistanceInKm(_wayPoints);
            double flatDistance     = flatAnalizer.AnalizeDistanceInKm(_wayPoints);

            double areaDistance = climbingDistance + descentDistance + flatDistance;

            Assert.Equal(Math.Round(totalDistance), Math.Round(areaDistance));

            _testOutputHelper.WriteLine(areaDistance.ToString(CultureInfo.InvariantCulture));
            _testOutputHelper.WriteLine(totalDistance.ToString(CultureInfo.InvariantCulture));
        }