public void AddPayment(int coinValue) { if (!_coinValidationStrategy.IsCoinValid(coinValue)) { throw new IllegalCoinException("Illegal coin value: " + coinValue); } _coinAmount += coinValue; _minutes = _rateStrategy.CalculateRate(_coinAmount); _insertedCoins = IncrementCoinAdded(_insertedCoins, coinValue); }
public int CalculateRate(int coinValue) { if (IsWeekend()) { return(_weekendStrategy.CalculateRate(coinValue)); } return(_weekDayStrategy.CalculateRate(coinValue)); }