private static void Main(string[] args) { var calculator = new CalculatorFacade(); while (true) { WriteAttantionMessage(CalculatorFacade.StartMessage); string input = Console.ReadLine(); if (input == CalculatorFacade.QuitDesignation) { break; } calculator.Calculate(input); if (calculator.IsCalculationSuccessful) { WriteSuccessMessage(calculator.ResultText); } else { WriteErrorMessage(calculator.CalculationResultMessage); } } }
public string executeActions(CalculatorFacade calc) { foreach (var action in actionsList) { action(calc); } return(description); }
private void InternalPressNumbers(CalculatorFacade calculator, String inputNumbers) { foreach (var digit in inputNumbers.ToCharArray()) { var digitAsInt = Int32.Parse(digit.ToString()); calculator.numericButtonPressed(digitAsInt); } }
void test(TestData data, string ExpectedScreenValue = null, decimal?ExpectedAccumulatorValue = null, CalculatorState?state = null) { CalculatorFacade calculator = new CalculatorFacade(Constants.DIGITS_SCREEN_SIZE); String description = data.executeActions(calculator); if (ExpectedScreenValue != null) { Assert.AreEqual(ExpectedScreenValue, calculator.ScreenText, description); } if (ExpectedAccumulatorValue != null) { Assert.AreEqual(ExpectedAccumulatorValue, calculator.AccumulatorValue, description); } if (state != null && state.HasValue) { Assert.AreEqual(state.Value, calculator.CalculatorState, description); } }