protected BaseCalculatorState(decimal AccumulatorValue, string ScreenText, CalculatorOperator calculatorOperator, int maxDigitsOnScreen) { this.AccumulatorValue = AccumulatorValue; this.ScreenText = ScreenText; this.calculatorOperator = calculatorOperator; this.maxDigitsOnScreen = maxDigitsOnScreen; }
public override ICalculator operatorButtonPressed(CalculatorOperator newCalculatorOperator) { log.Debug("Wcisnieto przycisk operatora " + calculatorOperator); try { if (calculatorOperator == CalculatorOperator.DIVIDE && ScreenValue == 0) { return(new ErrorCalculatorState(Constants.defaultErrorString, maxDigitsOnScreen)); } AccumulatorValue = calculatorOperator.executeAction(ScreenValue, AccumulatorValue); return(new ScreenViewCalculatorState(AccumulatorValue, "0", newCalculatorOperator, maxDigitsOnScreen)); } catch (OverflowException e) { log.Warn("Overflow exception ", e); return(new ErrorCalculatorState(Constants.OVERFLOW, maxDigitsOnScreen)); } }
public override ICalculator operatorButtonPressed(CalculatorOperator calculatorOperator) { log.Debug("Wcisnieto przycisk operatora " + calculatorOperator); return(new ScreenViewCalculatorState(AccumulatorValue, "0", calculatorOperator, maxDigitsOnScreen)); }
public AccumulatorViewCalculatorState(decimal accumulatorValue, string screenValue, CalculatorOperator calculatorOperator, int maxDigitsOnScreen) : base(accumulatorValue, screenValue, calculatorOperator, maxDigitsOnScreen) { log.Debug("Nowy stan kalkulatora:AccumulatorViewCalculatorState: Wartosc w akumulatorze:" + accumulatorValue + " Wartosc na ekranie:" + screenValue + " operator:" + calculatorOperator); }
public ICalculator operatorButtonPressed(CalculatorOperator calculatorOperator) { log.Error("Nie powinno to sie stac: Wcisnieto przycisk operatora " + calculatorOperator); return(this); }
public void operatorButtonPressed(CalculatorOperator calculatorOperator) { currentCalculator = currentCalculator.operatorButtonPressed(calculatorOperator); }
public abstract ICalculator operatorButtonPressed(CalculatorOperator calculatorOperator);