Beispiel #1
0
        public async Task CalculatePointTyreDegradationTest_Invalid()
        {
            //e.g. Silverstone|Towcester|14,57
            const double trackDegradationPoint = 57;
            var          dataManager           = new DataManager();
            await dataManager.LoadAndParseData();

            var tyreDetailsViewModel = new TyreDetailsViewModel(dataManager.Tyres[0]);

            var    tyreCoefficient = tyreDetailsViewModel.TyreCoefficient;
            double temperature     = 0.0;
            var    weatherService  = new WeatherService(new OpenWeatherMapApiConsumer(new WebClientConsumer()));

            weatherService.GetTemperatureForLocationAsync("Towcester",
                                                          (object sender, EventArgs e) =>
            {
                if (e is TemperatureUpdatedEventArgs temperatureArgs)
                {
                    temperature = temperatureArgs.NewTemperature;
                }
            });

            var pointTyreDegradataion = TyrePlacementViewModel.CalculatePointTyreDegradation(trackDegradationPoint, tyreCoefficient, temperature);
            var manualCalculation     = (14 + temperature) / tyreCoefficient;

            Assert.AreNotEqual(manualCalculation, pointTyreDegradataion);
        }
        public void CalculateTyreCoefficientTest()
        {
            const int degradationCoefficient = 10;
            const int percentage             = 80;
            var       tyreCoefficient        = TyreDetailsViewModel.CalculateTyreCoefficient(percentage, degradationCoefficient);

            Assert.AreEqual(8, tyreCoefficient);
        }
        public async Task GetPercentageValueTest()
        {
            var dataManager = new DataManager();
            await dataManager.LoadAndParseData();

            var tyreDetailsViewModel = new TyreDetailsViewModel(dataManager.Tyres[0]);
            var value = tyreDetailsViewModel.GetPercentageValue();

            Assert.AreEqual(80, value);
        }
        public async Task IsSameFamilyAsTest_DifferentFamily()
        {
            var dataManager = new DataManager();
            await dataManager.LoadAndParseData();

            var tyreDetailsViewModel = new TyreDetailsViewModel(dataManager.Tyres[0]);
            var newTyreDetails       = new TyreDetailsViewModel(dataManager.Tyres.FirstOrDefault(t => t.Family.Trim() != tyreDetailsViewModel.Family.ToString()));

            Assert.IsFalse(tyreDetailsViewModel.IsSameFamilyAs(newTyreDetails));
        }