public void CalculatePriceEstate() { var rent = new RentDbModel { Date = new DateTime(2017, 12, 3, 15, 0, 0), Mileage = 600, CarCategory = "Kombi" }; var receive = new ReceiveDbModel { Date = new DateTime(2017, 12, 6, 15, 0, 0), Mileage = 680 }; var expectedPrice = _baseRent * 3 * 1.3 + _baseKmPrice * 80; var crHelper = new CarRentalHelper(); var price = crHelper.CalculatePrice(rent, receive, _baseRent, _baseKmPrice); Assert.AreEqual(expectedPrice, price); }
public void CalculatePriceTruck() { var rent = new RentDbModel { Date = new DateTime(2017, 12, 3, 15, 0, 0), Mileage = 600, CarCategory = "Lastbil" }; var receive = new ReceiveDbModel { Date = new DateTime(2017, 12, 7, 15, 0, 0), Mileage = 680 }; var expectedPrice = _baseRent * 4 * 1.5 + _baseKmPrice * 80 * 1.5; var crHelper = new CarRentalHelper(); var price = crHelper.CalculatePrice(rent, receive, _baseRent, _baseKmPrice); Assert.AreEqual(expectedPrice, price); }
public double CalculatePrice(RentDbModel rent, ReceiveDbModel receive, int baseRent, int baseKmPrice) { var numberOfKm = receive.Mileage - rent.Mileage; var numberOfDays = (receive.Date - rent.Date).TotalDays; double price = 0; switch (rent.CarCategory) { case "Småbil": price = baseRent * numberOfDays; break; case "Kombi": price = baseRent * numberOfDays * 1.3 + baseKmPrice * numberOfKm; break; case "Lastbil": price = baseRent * numberOfDays * 1.5 + baseKmPrice * numberOfKm * 1.5; break; } return(price); }