public void MultipleDaysTest() { var calculator = new RentalPriceCalculator(20); var price = calculator.CalculateRentalPrice(DateTime.UtcNow, DateTime.UtcNow.AddDays(5), 0.2m); Assert.AreEqual(120.0m, price); }
public void RentalLessThanOneDayTest() { var calculator = new RentalPriceCalculator(20); var price = calculator.CalculateRentalPrice(DateTime.Now, DateTime.Now.AddMinutes(5), 0.2m); Assert.AreEqual(1.0m, price); }
public void TwoDatesTest() { var calculator = new RentalPriceCalculator(20); var startDate = new DateTime(2019, 12, 30, 23, 0, 0); var endDate = new DateTime(2019, 12, 31, 01, 0, 0); var price = calculator.CalculateRentalPrice(startDate, endDate, 0.2m); Assert.AreEqual(24.0m, price); }
public void AddRental(Rental rental) { if (rental == null) { throw new ArgumentNullException(nameof(rental)); } rental.Id = Guid.NewGuid(); if (rental.Client != null) { rental.Client.Id = Guid.NewGuid(); } if (rental.Car != null) { rental.Car.Id = Guid.NewGuid(); rental.FullPrice = RentalPriceCalculator.CalculateFullPrice(rental); } _context.Rentals.Add(rental); }
public void UpdateRental(Rental rental) { rental.FullPrice = RentalPriceCalculator.CalculateFullPrice(rental); _context.Rentals.Update(rental); }
public void NegativeRentalTimeTest() { var calculator = new RentalPriceCalculator(20); Assert.ThrowsException <InvalidRentalTimeException>(() => calculator.CalculateRentalPrice(DateTime.Now.AddDays(5), DateTime.Now, 0.2m)); }