public void GetTollFee_GivenTimeOfToll_ShouldReturnCorrectTollFee(string timeOfTollString, int expected)
        {
            var timeOfToll = TimeSpan.Parse(timeOfTollString);
            var sut        = new TollFeeGetter();

            var actual = sut.GetTollFee(timeOfToll);

            Assert.Equal(expected, actual);
        }
        private static TollCalculator CreateTollCalculator()
        {
            var feeFreeVehicleChecker = new FeeFreeVehicleChecker();
            var weekendChecker        = new WeekendChecker();
            var holidayChecker        = new NagerHolidayChecker();
            var tollFeeGetter         = new TollFeeGetter();
            var feeTimePartitioner    = new FeeTimePartitioner();
            var dailyFeeCalculator    = new DailyFeeCalculator(tollFeeGetter, feeTimePartitioner);

            return(new TollCalculator(
                       feeFreeVehicleChecker,
                       weekendChecker,
                       holidayChecker,
                       dailyFeeCalculator));
        }