public void TestDivision3() { var rpn = new Rpn("1000/10*2/10"); var eval = new CompileRpn(rpn); var value = eval.Evaluate(null); Assert.AreEqual(20, value); }
public void TestEqLtParsing() { var rpn = new Rpn("5<=2+3"); var eval = new CompileRpn(rpn); var value = eval.Evaluate(null); Assert.AreEqual(1, value); }
public void TestSubtraction() { var rpn = new Rpn("100-10-10-10"); var eval = new CompileRpn(rpn); var value = eval.Evaluate(null); Assert.AreEqual(70, value); }
public void TestDivision() { var rpn = new Rpn("3+4/2"); var eval = new CompileRpn(rpn); var value = eval.Evaluate(null); Assert.AreEqual(5, value); }
public void TestNotEqualOp2() { var rpn = new Rpn("85!=85"); var eval = new CompileRpn(rpn); var value = eval.Evaluate(null); Assert.AreEqual(0, value); }
public void TestBasicAddition() { var rpn = new Rpn("3+4"); var eval = new CompileRpn(rpn); var value = eval.Evaluate(null); Assert.AreEqual(7, value); }
public void TestOrderEvaluation() { var rpn = new Rpn("12/2/3"); var eval = new CompileRpn(rpn); var value = eval.Evaluate(null); Assert.AreEqual(2, value); }
public void Test() { var rpn = new Rpn("nisse+2*sture+5"); var x = new CompileRpn(rpn, new List <NameAndType> { new NameAndType("nisse", typeof(double)), new NameAndType("sture", typeof(double)) }); var result = x.Evaluate(new object[] { 1.0, 3.0 }); Console.WriteLine(result); }
public void TestVariables() { var rpn = new Rpn("3+(a+q)/(2+2)+3"); Assert.AreEqual("3 a q + 2 2 + / + 3 +", rpn.ToString()); var eval = new CompileRpn(rpn, new List <NameAndType> { new NameAndType("a", typeof(double)), new NameAndType("q", typeof(double)) }); var variables = new object[] { 3.0, 5.0 }; var value = eval.Evaluate(variables); Assert.AreEqual(8, value); }
public void TestEqualOp(double variableValue, double expected) { var rpn = new Rpn("Url==42"); Assert.AreEqual("Url 42 ==", rpn.ToString()); var eval = new CompileRpn(rpn, new List <NameAndType> { new NameAndType("Url", typeof(double)) }); var value = eval.Evaluate(new object[] { variableValue }); Assert.AreEqual(expected, value); }