public void CalculateTest(double firstArgument, double secondArgument, double expectedResult) { var calculator = new ArithmeticCalculator(); var actualResult = calculator.Calculate(firstArgument, secondArgument); Assert.AreEqual(actualResult, expectedResult); }
/// <summary> /// Calculate inputed into Display expression /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnBtnEqualClick(object sender, EventArgs e) { // Calculate expression string mathExpression = mainWindow.tbDisplay.Text; mainWindow.tbDisplay.Text = ArithmeticCalculator.Calculate(mathExpression).ToString(); // Set cursor to the end mainWindow.tbDisplay.CaretIndex = mainWindow.tbDisplay.Text.Length; // string newLogPost = String.Format(@"{0} = {1}", mathExpression, mainWindow.tbDisplay.Text); mainWindow.lb_Log.Items.Add(newLogPost); }
/* * Урок 3. Практическое задание. * Паписать консольную программу вычисления значения произвольного * математического выражения,содержащего следующие операции: * +---------+------------------+ * |Опрерации| Название | * |---------+------------------+ * | + | Унарный плюс | * | - | Унарный минус | * | + | Сложение | * | - | Вычитание | * | * | Умножение | * | / | Деление | * | () | Скобки | * * Для решения этой задачи требуется * воспользоваться обратной польской записью * * Ввод: * (1 + 2) * 4 + 3 * * Вывод: * 1 2 + 4 * 3 + * 15 */ internal static void Main() { Calculator calculator = new ArithmeticCalculator(); Console.WriteLine($"Поддерживаемые операции: {calculator.SupportedOperation}"); Console.WriteLine("Ввод: "); var expression = Console.ReadLine(); try { Console.WriteLine(); var resultCalculation = calculator.Calculate(expression); Console.WriteLine("Вывод:"); Console.WriteLine($"Выражение в ОПН: {resultCalculation.ReversePolishNotation}"); Console.WriteLine($"Результат выражения: {resultCalculation.Value}"); } catch (Exception e) { Console.WriteLine($"Ошибка: {e.Message}"); } }