private double GetTravelDurationOnOrbit(IWeather weather, VehicleTypeEnum vehicleTypeEnum)
        {
            double CraterCountForInputWeather = weather.GetModifiedCratersCountBasedOnWeather(NoOfCraters);
            double timeToCrossCrater;
            double timeToCrossOrbit;

            switch (vehicleTypeEnum)
            {
            case VehicleTypeEnum.BIKE:
                Bike objbike = ObjectFactory.GetBikeInstance;
                timeToCrossCrater = (objbike.TimeToCrossCrater * CraterCountForInputWeather);
                timeToCrossOrbit  = ((_distance / (_speed > objbike.Speed ? objbike.Speed : _speed)) * 60);
                break;

            case VehicleTypeEnum.CAR:
                Car objcar = ObjectFactory.GetCarInstance;
                timeToCrossCrater = (objcar.TimeToCrossCrater * CraterCountForInputWeather);
                timeToCrossOrbit  = ((_distance / (_speed > objcar.Speed ? objcar.Speed : _speed)) * 60);
                break;

            case VehicleTypeEnum.TUKTUK:
                Tuktuk objtuktuk = ObjectFactory.GetTuktukInstance;
                timeToCrossCrater = (objtuktuk.TimeToCrossCrater * CraterCountForInputWeather);
                timeToCrossOrbit  = ((_distance / (_speed > objtuktuk.Speed ? objtuktuk.Speed : _speed)) * 60);
                break;

            default:
                throw new InvalidOperationException("Invalid Vehicle Type");
            }
            return(timeToCrossCrater + timeToCrossOrbit);
        }