public override ICalculator numericButtonPressed(int button)
 {
     if (ScreenText.Length < maxDigitsOnScreen)
     {
         if (ScreenText.Equals("0"))
         {
             ScreenValue = button;
         }
         else
         {
             ScreenText = ScreenText + button;
         }
     }
     return(new ScreenViewCalculatorState(AccumulatorValue, ScreenText, calculatorOperator, maxDigitsOnScreen));
 }
        public override ICalculator invertSignButtonPressed()
        {
            log.Debug("Wcisnieto przycisk odwrocenia znaku ");
            String newScreenValue = "?";

            if (ScreenText.StartsWith("-"))
            {
                newScreenValue = ScreenText.Substring(1);
            }
            else if (!ScreenText.Equals("0"))
            {
                newScreenValue = '-' + ScreenText;
            }
            else
            {
                newScreenValue = ScreenText;
            }
            return(new ScreenViewCalculatorState(AccumulatorValue, newScreenValue, calculatorOperator, maxDigitsOnScreen));
        }