private void ButtonOperation_Click(object sender, RoutedEventArgs e) { MathsOperation operation = MathsOperation.None; switch ((sender as Button).Name) { case "ButtonEquals": operation = MathsOperation.None; break; case "ButtonPlus": operation = MathsOperation.Add; break; case "ButtonMinus": operation = MathsOperation.Subtract; break; case "ButtonMultiply": operation = MathsOperation.Multiply; break; case "ButtonDivide": operation = MathsOperation.Divide; break; case "ButtonExponent": operation = MathsOperation.Power; break; case "ButtonModulo": operation = MathsOperation.Modulo; break; case "ButtonNaturalLog": operation = MathsOperation.NaturalLog; break; case "ButtonLog10": operation = MathsOperation.Log10; break; case "ButtonSqrt": operation = MathsOperation.Sqrt; break; case "ButtonEx": operation = MathsOperation.Ex; break; } OperationButtonClicked(operation); }
public void TestAddition() { MathsOperation mathsOperation = new MathsOperation(); Assert.AreEqual(3, mathsOperation.Addtion(1, 2)); }
/// <summary> /// Method used for executing an operation and displaying its result. Called whenever a button is pressed. /// If two operations have been called (eg. num1 + num2 +), then the first operation is executed, and the second one is stored for later. /// </summary> /// <param name="newOperation">The operation pressed, None if pressed Equals</param> private void OperationButtonClicked(MathsOperation newOperation) { // Do the check here if (ViewModel.MathsOperation != MathsOperation.None) { // If the operation isn't none, then perform that operation and save the new one // eg. value1 + value2 + value3 = ; first add value1+value2, then add value3 string result = "ERR"; ViewModel.NumbersAsStrings.Add(ResultBlock.Text); switch (ViewModel.MathsOperation) { case MathsOperation.Add: result = ViewModel.Add(); break; case MathsOperation.Subtract: result = ViewModel.Subtract(); break; case MathsOperation.Multiply: result = ViewModel.Multiply(); break; case MathsOperation.Divide: result = ViewModel.Divide(); break; case MathsOperation.Power: result = ViewModel.RaiseToPower(); break; case MathsOperation.Modulo: result = ViewModel.Modulo(); break; case MathsOperation.NaturalLog: result = ViewModel.NaturalLog(); break; case MathsOperation.Log10: result = ViewModel.Log10(); break; case MathsOperation.Sqrt: result = ViewModel.Sqrt(); break; case MathsOperation.Ex: result = ViewModel.Ex(); break; } ResultBlock.Text = result; } else { ResultBlock.Text = ""; } ViewModel.NumbersAsStrings.Clear(); ViewModel.NumbersAsStrings.Add(ResultBlock.Text); ViewModel.MathsOperation = newOperation; }