예제 #1
0
        public void ComputeRateTests_ByMinutes_DoNotConsider_WithoutSlackTime_PayInAdvance(int minutes, decimal expectedRateValue)
        {
            Rate    rate      = new Rate(payAfterMinutes: 0, considerAlsoTheSlackTime: false, payInAdvance: true);
            decimal rateValue = rate.CalculateByMinutes(minutes);

            Assert.AreEqual(expectedRateValue, rateValue);
        }
예제 #2
0
        public void ComputeRateTests_ByMinutes_EveryHour(int minutes, decimal expectedRateValue)
        {
            Rate    rate      = new Rate(60);
            decimal rateValue = rate.CalculateByMinutes(minutes);

            Assert.AreEqual(expectedRateValue, rateValue);
        }
예제 #3
0
        public void ComputeRateTests_ByMinutes_DoNotConsider_FirstSlackTime(int minutes, decimal expectedRateValue)
        {
            Rate    rate      = new Rate(considerAlsoTheSlackTime: false);
            decimal rateValue = rate.CalculateByMinutes(minutes);

            Assert.AreEqual(expectedRateValue, rateValue);
        }
예제 #4
0
        private string RateToEuro(int stayTimeTotalMinutes)
        {
            Rate rate = GetRate();

            return($"{rate.CalculateByMinutes(stayTimeTotalMinutes):F2} Euro");
        }