public void Test_Commutative_4() { //1+(1+a) -> (a+1)+1 var a = new Var('a'); var term = new Term(Expression.Add, new List <object>() { 1, a }); var term1 = new Term(Expression.Add, new List <object>() { 1, term }); Assert.True(term1.ToString().Equals("1+1+a")); object result = term1.EvalAlgebra(); Assert.NotNull(result); Assert.True(result.ToString().Equals("a+2")); Assert.True(term1.Traces.Count == 1); var lst = term1.Traces[0].Item2 as List <TraceStep>; Assert.NotNull(lst); Assert.True(lst.Count == 4); }
public void Test_Commutative_5() { //(1+a)*2 -> 2*(a+1) var a = new Var('a'); var term = new Term(Expression.Add, new List <object>() { 1, a }); var term1 = new Term(Expression.Multiply, new List <object>() { term, 2 }); Assert.True(term1.ToString().Equals("(1+a)2")); object result = term1.EvalAlgebra(); Assert.NotNull(result); Assert.True(result.ToString().Equals("2a+2")); Assert.True(term1.Traces.Count == 1); var lst = term1.Traces[0].Item2 as List <TraceStep>; Assert.NotNull(lst); Assert.True(lst.Count == 4); }
public void Test_Commutative_2() { //x*3 -> 3*x var x = new Var('x'); var a = new Term(Expression.Multiply, new List<object>() { x, 3 }); object result = a.EvalAlgebra(); Assert.NotNull(result); Assert.True(result.ToString().Equals("3x")); Assert.True(a.Traces.Count == 1); }
public void Test_Commutative_1_NonLinear_2() { // x+x^2 -> x^2+x var x = new Var('x'); var x_square = new Term(Expression.Power, new List<object>() { x, 2 }); var term = new Term(Expression.Add, new List<object>() { x, x_square }); object result = term.EvalAlgebra(); var gTerm = result as Term; Assert.NotNull(gTerm); Assert.NotNull(result); Assert.True(result.ToString().Equals("x^2+x")); }
public void Test_Commutative_1() { //3+x -> x+3 var x = new Var('x'); var a = new Term(Expression.Add, new List<object>() { 3, x }); object result = a.EvalAlgebra(); var gTerm = result as Term; Assert.NotNull(gTerm); Assert.NotNull(result); Assert.True(result.ToString().Equals("x+3")); Assert.True(a.Traces.Count == 1); }
public void Test_Identity_1() { //x+x->(1+1)x->2x var x = new Var('x'); var term = new Term(Expression.Add, new List <object>() { x, x }); object result = term.EvalAlgebra(); Assert.NotNull(result); Assert.True(result.ToString().Equals("2x")); Assert.True(term.Traces.Count == 1); }
public void Test_Commutative_2() { //x*3 -> 3*x var x = new Var('x'); var a = new Term(Expression.Multiply, new List <object>() { x, 3 }); object result = a.EvalAlgebra(); Assert.NotNull(result); Assert.True(result.ToString().Equals("3x")); Assert.True(a.Traces.Count == 1); }
public void Test_Commutative_2_NonLinear() { //x^2*3 -> 3*x^2 var x = new Var('x'); var x_square = new Term(Expression.Power, new List <object>() { x, 2 }); var a = new Term(Expression.Multiply, new List <object>() { x_square, 3 }); object result = a.EvalAlgebra(); Assert.True(result.ToString().Equals("3(x^2)")); }
public void Test_Commutative_1() { //3+x -> x+3 var x = new Var('x'); var a = new Term(Expression.Add, new List <object>() { 3, x }); object result = a.EvalAlgebra(); var gTerm = result as Term; Assert.NotNull(gTerm); Assert.NotNull(result); Assert.True(result.ToString().Equals("x+3")); Assert.True(a.Traces.Count == 1); }
public void Test_Commutative_3_NonLinear() { //3*x^2*3 -> 9*x var x = new Var('x'); var x_square = new Term(Expression.Power, new List <object>() { x, 2 }); var a = new Term(Expression.Multiply, new List <object>() { 3, x_square, 3 }); object result = a.EvalAlgebra(); Assert.NotNull(result); Assert.True(result.ToString().Equals("9(x^2)")); Assert.True(a.Traces.Count == 1); }
public void Test_Identity_2() { //y+2*y ->1*y+2*y var y = new Var('y'); var term = new Term(Expression.Multiply, new List <object>() { 2, y }); var term1 = new Term(Expression.Add, new List <object>() { y, term }); object result = term1.EvalAlgebra(); Assert.NotNull(result); Assert.True(result.ToString().Equals("3y")); Assert.True(term1.Traces.Count == 1); }
public void Test_Commutative_1_NonLinear_2() { // x+x^2 -> x^2+x var x = new Var('x'); var x_square = new Term(Expression.Power, new List <object>() { x, 2 }); var term = new Term(Expression.Add, new List <object>() { x, x_square }); object result = term.EvalAlgebra(); var gTerm = result as Term; Assert.NotNull(gTerm); Assert.NotNull(result); Assert.True(result.ToString().Equals("x^2+x")); }
public void Test_Commutative_3_NonLinear() { //3*x^2*3 -> 9*x var x = new Var('x'); var x_square = new Term(Expression.Power, new List<object>() { x, 2 }); var a = new Term(Expression.Multiply, new List<object>() { 3, x_square, 3 }); object result = a.EvalAlgebra(); Assert.NotNull(result); Assert.True(result.ToString().Equals("9(x^2)")); Assert.True(a.Traces.Count == 1); }
public void Test_Commutative_5() { //(1+a)*2 -> 2*(a+1) var a = new Var('a'); var term = new Term(Expression.Add, new List<object>() { 1, a }); var term1 = new Term(Expression.Multiply, new List<object>() { term, 2 }); Assert.True(term1.ToString().Equals("(1+a)2")); object result = term1.EvalAlgebra(); Assert.NotNull(result); Assert.True(result.ToString().Equals("2a+2")); Assert.True(term1.Traces.Count == 1); var lst = term1.Traces[0].Item2 as List<TraceStep>; Assert.NotNull(lst); Assert.True(lst.Count == 4); }
public void Test_Identity_1() { //x+x->(1+1)x->2x var x = new Var('x'); var term = new Term(Expression.Add, new List<object>() { x, x }); object result = term.EvalAlgebra(); Assert.NotNull(result); Assert.True(result.ToString().Equals("2x")); Assert.True(term.Traces.Count == 1); }
public void Test_Identity_2() { //y+2*y ->1*y+2*y var y = new Var('y'); var term = new Term(Expression.Multiply, new List<object>() { 2, y }); var term1 = new Term(Expression.Add, new List<object>() { y, term }); object result = term1.EvalAlgebra(); Assert.NotNull(result); Assert.True(result.ToString().Equals("3y")); Assert.True(term1.Traces.Count == 1); }
public void Test_Commutative_4() { //1+(1+a) -> (a+1)+1 var a = new Var('a'); var term = new Term(Expression.Add, new List<object>() { 1, a }); var term1 = new Term(Expression.Add, new List<object>() { 1, term }); Assert.True(term1.ToString().Equals("1+1+a")); object result = term1.EvalAlgebra(); Assert.NotNull(result); Assert.True(result.ToString().Equals("a+2")); Assert.True(term1.Traces.Count == 1); var lst = term1.Traces[0].Item2 as List<TraceStep>; Assert.NotNull(lst); Assert.True(lst.Count == 4); }
public void Test_Commutative_2_NonLinear() { //x^2*3 -> 3*x^2 var x = new Var('x'); var x_square = new Term(Expression.Power, new List<object>() { x, 2 }); var a = new Term(Expression.Multiply, new List<object>() { x_square, 3 }); object result = a.EvalAlgebra(); Assert.True(result.ToString().Equals("3(x^2)")); }