public void DerivativeTest3() { // (2x) / (3x) Number num1 = new Number(2); Variable x = new Variable("x"); Mul mul1 = new Mul(num1, x); Number num2 = new Number(3); Mul mul2 = new Mul(num2, x.Clone()); IExpression exp = new Div(mul1, mul2); IExpression deriv = exp.Differentiate(); Assert.AreEqual("(((2 * 1) * (3 * x)) - ((2 * x) * (3 * 1))) / ((3 * x) ^ 2)", deriv.ToString()); num1.Value = 4; num2.Value = 5; Assert.AreEqual("(4 * x) / (5 * x)", exp.ToString()); Assert.AreEqual("(((2 * 1) * (3 * x)) - ((2 * x) * (3 * 1))) / ((3 * x) ^ 2)", deriv.ToString()); }
public void DivDerivativeTest3() { // (2x) / (3x) var num1 = new Number(2); var x = new Variable("x"); var mul1 = new Mul(num1, x); var num2 = new Number(3); var mul2 = new Mul(num2, x.Clone()); var exp = new Div(mul1, mul2); var deriv = Differentiate(exp); Assert.Equal("((2 * 1 * 3 * x) - (2 * x * 3 * 1)) / ((3 * x) ^ 2)", deriv.ToString()); num1.Value = 4; num2.Value = 5; Assert.Equal("(4 * x) / (5 * x)", exp.ToString()); Assert.Equal("((2 * 1 * 3 * x) - (2 * x * 3 * 1)) / ((3 * x) ^ 2)", deriv.ToString()); }