private void SolveNestedEquation(ref List <ElementEquation> elements, ref int i) { double resultNested = SolveEquation(elements[i].NestedEquation); elements[i] = new ElementEquation(resultNested); if (elements.Count > (i + 1)) { elements[i].Operation = elements[i + 1].Operation; elements.RemoveAt(i + 1); i--; } }
public void MakeOperation_15Mul4_Return60() { // arrange ElementEquation elementsX = new ElementEquation(15, OperatorType.Mul); ElementEquation elementsY = new ElementEquation(4); OperatorType operatorX = elementsX.Operation.Operator; double exected = 60; // act double actual = arithmeticCalculation.MakeOperation(elementsX, operatorX, elementsY); // assert Assert.AreEqual(actual, exected); }
public double MakeOperation(ElementEquation x, OperatorType operatorType, ElementEquation y) { double result = 0; switch (operatorType) { case OperatorType.Mul: result = x.Number * y.Number; break; case OperatorType.Del: result = x.Number / y.Number; break; case OperatorType.Sum: result = x.Number + y.Number; break; case OperatorType.Sub: result = x.Number - y.Number; break; } return(result); }