public void EarlyBirdFeesNotAppliedWhenCarIsParkedInEarlyBirdHoursButNotAWeekDay() { // Arrange var entryDateTime = new DateTime(2021, 3, 27, 7, 0, 0); var exitDateTime = new DateTime(2021, 3, 27, 20, 0, 0); var packageRates = Entities.GetSamplePackageRates(); var pakageRatesRepository = Substitute.For <IPackageRatesRepository>(); pakageRatesRepository.GetPackageRates().Returns(packageRates); var packageRateCalculatorService = new PackageRateCalculatorService(pakageRatesRepository); // Act var actual = packageRateCalculatorService.CalculatePackageRate(entryDateTime, exitDateTime); // Assert Assert.IsNotNull(actual); Assert.AreEqual(0, actual.Errors.Count); Assert.AreNotEqual(Constants.EarlyBirdPackageRateName, actual.PackageName); Assert.AreNotEqual(13.00, actual.TotalPrice); }
public void EarlyBirdFeesAppliedWhenCarIsParkedInEarlyBirdHours() { // Arrange var entryDateTime = DateTimeHelpers.GetRandomDateTimeBetweenRange(new DateTime(2021, 3, 29, 6, 0, 0), new DateTime(2021, 3, 29, 9, 0, 0)); var exitDateTime = DateTimeHelpers.GetRandomDateTimeBetweenRange(new DateTime(2021, 3, 29, 15, 30, 0), new DateTime(2021, 3, 29, 21, 30, 0)); var packageRates = Entities.GetSamplePackageRates(); var pakageRatesRepository = Substitute.For <IPackageRatesRepository>(); pakageRatesRepository.GetPackageRates().Returns(packageRates); var packageRateCalculatorService = new PackageRateCalculatorService(pakageRatesRepository); // Act var actual = packageRateCalculatorService.CalculatePackageRate(entryDateTime, exitDateTime); // Assert Assert.IsNotNull(actual); Assert.AreEqual(0, actual.Errors.Count); Assert.AreEqual(Constants.EarlyBirdPackageRateName, actual.PackageName); Assert.AreEqual(13.0, actual.TotalPrice); }