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); }
public void ComputeRateTests_ByMinutes_EveryHour(int minutes, decimal expectedRateValue) { Rate rate = new Rate(60); decimal rateValue = rate.CalculateByMinutes(minutes); Assert.AreEqual(expectedRateValue, rateValue); }
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); }
private string RateToEuro(int stayTimeTotalMinutes) { Rate rate = GetRate(); return($"{rate.CalculateByMinutes(stayTimeTotalMinutes):F2} Euro"); }