示例#1
0
        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);
        }
示例#2
0
        public int CalculateRate(int coinValue)
        {
            if (IsWeekend())
            {
                return(_weekendStrategy.CalculateRate(coinValue));
            }

            return(_weekDayStrategy.CalculateRate(coinValue));
        }