public double Calculate(CalcOperations argOperation, double argFirstNumber, double argSecondNumber) { double resultOperation = 0; switch (argOperation) { case CalcOperations.Add: resultOperation = argFirstNumber + argSecondNumber; break; case CalcOperations.Subtract: resultOperation = argFirstNumber - argSecondNumber; break; case CalcOperations.Divide: resultOperation = argFirstNumber / argSecondNumber; break; case CalcOperations.Multiply: resultOperation = argFirstNumber * argSecondNumber; break; default: throw new InvalidOperationException("Specified operation is note recognized"); } return(resultOperation); }
private void OperationOnNumber(CalcOperations op) { if (lastOperation == true) { calculation(); } switch (op) { case CalcOperations.DIVIDE: this.op = CalcOperations.DIVIDE; break; case CalcOperations.MULTIPLICATION: this.op = CalcOperations.MULTIPLICATION; break; case CalcOperations.SUBSTRACTION: this.op = CalcOperations.SUBSTRACTION; break; case CalcOperations.ADDITION: this.op = CalcOperations.ADDITION; break; } if (this.op != CalcOperations.NONE) { Events.current.onDisplayResultUp(OperationResult()); } lastOperation = true; }
private void ResetAll() { op = CalcOperations.NONE; firstNumber = 0; lastNumber = 0; resetNum = false; lastOperation = false; }
// sqrt 1/x +- private void oneOperandOperationBtnPressed(object param) { string oper = param.ToString(); if (isCalcEnabled) { isOpEnded = true; InputLength = 0; isEqBtnPressedLast = false; switch (oper) { case ("r"): Stack += "sqrt(" + Input + ")"; Input = CalcOperations.root(Input); isCalcEnabled = ValidateOutput(Input); break; case ("-1"): Stack += "reciproc(" + Input + ")"; Input = CalcOperations.inv(Input); isCalcEnabled = ValidateOutput(Input); break; case ("+-"): if (Input.Contains("-")) { Input = Input.Trim('-'); } else { if (Input != "0") { string buf = Input; Input = "-"; Input += buf; } } break; case ("%"): if (FirstN == "") { Input = "0"; } else { Input = CalcOperations.percent(FirstN, Input); } Stack += Input; break; default: break; } } }
public void DivideByZeroTest() { //Arrange double num1 = 550; double num2 = 0; CalcOperations calc = new CalcOperations(); //Act & Assert Assert.ThrowsException <DivideByZeroException>(() => calc.Divide(num1, num2)); }
public void SubtractTest() { //Arrange double num1 = 550; double num2 = 2300; double expected = -1750; CalcOperations calc = new CalcOperations(); //Act double actual = calc.Subtract(num1, num2); //Assert Assert.AreEqual(expected, actual); }
public void MultiplyTest() { //Arrange double num1 = 55; double num2 = 2.3; double expected = 126.49999999999999; CalcOperations calc = new CalcOperations(); //Act double actual = calc.Multiply(num1, num2); //Assert Assert.AreEqual(expected, actual); }
public void DivideTest() { //Arrange double num1 = 550; double num2 = 2; double expected = 275; CalcOperations calc = new CalcOperations(); //Act double actual = calc.Divide(num1, num2); //Assert Assert.AreEqual(expected, actual); }
public void AddTest() { //Arrange double num1 = 550; double num2 = 550; double expected = 1100; CalcOperations calc = new CalcOperations(); //Act double actual = calc.Add(num1, num2); //Assert Assert.AreEqual(expected, actual); }
public void EqualsAddTest() { //Arrange double num1 = 550; double num2 = 550; string operand = "+"; double expected = 1100; CalcOperations calc = new CalcOperations(); //Act double actual = calc.Equal(num1, operand, num2); //Assert Assert.AreEqual(expected, actual); }
public void EqualsDivideTest() { //Arrange double num1 = 550; double num2 = 2; double expected = 275; string operand = "/"; CalcOperations calc = new CalcOperations(); //Act double actual = calc.Equal(num1, operand, num2); //Assert Assert.AreEqual(expected, actual); }
public void EqualsMultiplyTest() { //Arrange double num1 = 55; double num2 = 2.3; double expected = 126.49999999999999; string operand = "*"; CalcOperations calc = new CalcOperations(); //Act double actual = calc.Equal(num1, operand, num2); //Assert Assert.AreEqual(expected, actual); }
public void EqualsSubtractTest() { //Arrange double num1 = 550; double num2 = 2300; double expected = -1750; string operand = "-"; CalcOperations calc = new CalcOperations(); //Act double actual = calc.Equal(num1, operand, num2); //Assert Assert.AreEqual(expected, actual); }
private void HandleOperations(CalcOperations co) { try { int val1 = int.Parse(txtFirstNum.Text); int val2 = int.Parse(txtSecondNum.Text); switch (co) { case CalcOperations.Add: lstResult.Items.Add($"{val1} + {val2} = {val1 + val2}"); break; case CalcOperations.Subtract: lstResult.Items.Add($"{val1} - {val2} = {val1 - val2}"); break; case CalcOperations.Multiply: lstResult.Items.Add($"{val1} x {val2} = {val1 * val2}"); break; case CalcOperations.Divide: lstResult.Items.Add($"{val1} / {val2} = {val1 / val2}"); break; } txtFirstNum.Text = ""; txtSecondNum.Text = ""; // The following 2 lines are to try and focus the closest line in the result for screenreader users after calculation lstResult.SelectedItem = lstResult.Items[lstResult.Items.Count - 1]; lstResult.Focus(); } catch (DivideByZeroException) { lblErrMsg.Content = "Felaktigt värde, du försöker dividera med 0!"; lblErrMsg.Visibility = Visibility.Visible; // We set focus on this for screenreader users, it goes away when it looses focus lblErrMsg.Focus(); } catch (FormatException) { lblErrMsg.Content = "Felaktigt värde, ange enbart siffror!"; lblErrMsg.Visibility = Visibility.Visible; // We set focus on this for screenreader users, it goes away when it looses focus lblErrMsg.Focus(); } }
//calculates result private string Calculate(string operation, string input) { if (LastOp == "" || !isNumbBtnPressedLast) { LastOp = operation; FirstN = input; return(FirstN); } else { SecondN = input; switch (LastOp) { case ("+"): FirstN = CalcOperations.plus(FirstN, SecondN); LastOp = operation; return(FirstN); case ("-"): FirstN = CalcOperations.minus(FirstN, SecondN); LastOp = operation; return(FirstN); case ("*"): FirstN = CalcOperations.mult(FirstN, SecondN); LastOp = operation; return(FirstN); case ("/"): FirstN = CalcOperations.div(FirstN, SecondN); LastOp = operation; return(FirstN); default: return("Invalid input"); } } }
public void OperationClick(CalcOperations op) => onCalcOperation(op);