AK.ExpressionSolverTests.TestComplexFormulas C# (CSharp) Method

TestComplexFormulas() public static method

public static TestComplexFormulas ( ) : void
return void
        public static void TestComplexFormulas()
        {
            ExpressionSolver solver = new ExpressionSolver();
            {
                var exp = solver.SymbolicateExpression("sin(1/(0.5*x))","x");
                var x = 21.0;
                exp.SetVariable("x",x);
                AssertSameValue(exp.Evaluate(),System.Math.Sin(1/(0.5*x)) );
            }
            {
                var exp = solver.SymbolicateExpression("(1+1)+.5");
                AssertSameValue(exp.Evaluate(),2.5f);
            }
            {
                var exp = solver.SymbolicateExpression("sin(2/(1-0.5*x))","x");
                var x = 21.0;
                exp.SetVariable("x",x);
                AssertSameValue(exp.Evaluate(),System.Math.Sin(2/(1-0.5*x)) );
            }
            {
                var exp = solver.SymbolicateExpression("sin((2/(1-0.5*x))/2)","x");
                var x = 21.0;
                exp.SetVariable("x",x);
                AssertSameValue(exp.Evaluate(),System.Math.Sin((2/(1-0.5*x))/2));
            }
            {
                var exp = solver.SymbolicateExpression("1/(1+sin((2/(1-0.5*x))/2))","x");
                var x = 21.0;
                exp.SetVariable("x",x);
                AssertSameValue(exp.Evaluate(),1/(1+System.Math.Sin((2/(1-0.5*x))/2)));
            }
            {
                var exp = solver.SymbolicateExpression(" (1-(3*(x/( (x+22)/x)-1*2*x))^0.5)/(x+1) ","x");
                var x = -21.0;
                exp.SetVariable("x",x);
                AssertSameValue(exp.Evaluate(), (1-System.Math.Pow(3*(x/( (x+22)/x)-1*2*x),0.5))/(x+1) );
            }
            {
                var exp = solver.SymbolicateExpression("(1+1/x)^x","x");
                var x = 30000000.0;
                exp.SetVariable("x",x);
                AssertSameValue(exp.Evaluate(),System.Math.E);
            }
        }