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);
        }