public void Simplify_Multiplication_6() { Environment environment = new Environment(); ConstantSimplifier simplifier = new ConstantSimplifier(environment); SyntaxNode node = Parser.ParseExpression("2 * 3", environment); Assert.AreEqual("6", simplifier.Simplify(node).ToString()); }
public void Simplify_Subtraction_1() { Environment environment = new Environment(); ConstantSimplifier simplifier = new ConstantSimplifier(environment); SyntaxNode node = Parser.ParseExpression("2 - 1", environment); Assert.AreEqual("1", simplifier.Simplify(node).ToString()); }
private SyntaxNode Simplify(SyntaxNode node) { ConstantSimplifier constantSimplifier = new ConstantSimplifier(environment); if (node == null) { return(node); } return(constantSimplifier.Simplify(node)); }
public void Simplify_Subtract0_X() { Environment environment = new Environment(); environment.AddSymbol("x"); ConstantSimplifier simplifier = new ConstantSimplifier(environment); SyntaxNode node = Parser.ParseExpression("x - 0", environment); Assert.AreEqual("x", simplifier.Simplify(node).ToString()); }
public void Simplify_MultiplyBy1ManyTimes_X() { Environment environment = new Environment(); environment.AddSymbol("x"); ConstantSimplifier simplifier = new ConstantSimplifier(environment); SyntaxNode node = Parser.ParseExpression("x * 1 * 1 * 1", environment); Assert.AreEqual("x", simplifier.Simplify(node).ToString()); }
public void Simplify_ComplexAlgebraExpression_SimplifiesDivision() { Environment environment = new Environment(); environment.AddSymbol("x"); ConstantSimplifier simplifier = new ConstantSimplifier(environment); SyntaxNode node = Parser.ParseExpression("3 * x / 3 + 12", environment); Assert.AreEqual("x + 12", simplifier.Simplify(node).ToString()); }
public Derivative(Expression expression, string variable) { this.expression = expression; this.variable = variable; simplifier = new ConstantSimplifier(expression.GetEnvironment()); }