void OneCalculator(object sender, EventArgs e) { try { double firstArgument = Convert.ToDouble(firstElement.Text); IOneArgument oneCalculator = OneArgumentFactory.CreateCalculator(((Button)sender).Name); double result = oneCalculator.OneCalculate(firstArgument); Conclusion.Text = result.ToString(); } catch (FormatException exception) { firstElement.Text = ""; } catch (Exception exception) { MessageBox.Show(exception.Message); } }
/// <summary> /// Function for operations with one argument /// </summary> /// <param name="sender">Button, that activated ivent</param> /// <param name="e">Operation type</param> private void CalculatorSingleArgument(object sender, EventArgs e) { try { { var validator = new Validator(); double firstArgument = validator.ValidateNumber(FirstInput.Text); string operationName = (((Button)sender).Name); var operation = OneArgumentFactory.CreateCalculator(operationName); double result = operation.Calculate(firstArgument); Value.Text = Convert.ToString(result); } } catch (Exception exception) { MessageBox.Show(exception.Message, "Error", MessageBoxButtons.OK); } }
private void OneArgumentOperationButtonClick(object sender, EventArgs e) { try { var argument = Convert.ToDouble(firstInputField.Text); var calculator = OneArgumentFactory.CreateCalculator(((Button)sender).Name); var result = calculator.Calculate(argument); outputField.Text = result.ToString(CultureInfo.InvariantCulture); } catch (DivideByZeroException exception) { outputField.Text = "Ошибка"; MessageBox.Show("Нельзя делить на ноль", "Возникло исключение", MessageBoxButtons.OK); } catch (Exception exception) { outputField.Text = "Ошибка"; MessageBox.Show(exception.Message, "Возникло исключение", MessageBoxButtons.OK); } }
public void ArcSinusExeptionTest() { IOneArgumentCalculator calculator = OneArgumentFactory.CreateCalculator("arccos"); Assert.Throws <Exception>(() => calculator.Calculate(5)); }
public void Log2xExeptionTest() { IOneArgumentCalculator calculator = OneArgumentFactory.CreateCalculator("log2x"); Assert.Throws <Exception>(() => calculator.Calculate(0)); }
public void CalculateTest(string name, Type type) { var calculator = OneArgumentFactory.CreateCalculator(name); Assert.IsInstanceOf(type, calculator); }
public void ReverseExeptionTest() { IOneArgumentCalculator calculator = OneArgumentFactory.CreateCalculator("reverse"); Assert.Throws <Exception>(() => calculator.Calculate(0)); }
public void MyCalculateTest() { IOneArgumentCalculator calculator = OneArgumentFactory.CreateCalculate("Log2x"); Assert.Throws <Exception>(() => calculator.Calculate(-3)); }
public void CreateCalculator(Type expectedTypeOfOperation, string nameOfOperation) { Type resultType = OneArgumentFactory.CreateCalculator(nameOfOperation).GetType(); Assert.AreEqual(expectedTypeOfOperation, resultType); }