Ejemplo n.º 1
0
        public void TestInvalidInput()
        {
            var evaluator = new PostFixEvaluator(new EvaluatableCollection <double>(Ops));
            var result    = evaluator.Eval("+ 1 +");

            Console.WriteLine(result);
        }
Ejemplo n.º 2
0
        public void TestUnaryOperators()
        {
            var evaluator = new PostFixEvaluator(new EvaluatableCollection <double>(Ops));
            var result    = evaluator.Eval("1 -");
            var expected  = -1;

            Assert.AreEqual(expected, result);
        }
Ejemplo n.º 3
0
        public void TestBasicEval()
        {
            var evaluator = new PostFixEvaluator(new EvaluatableCollection <double>(Ops));
            var result    = evaluator.Eval("1 2 +");
            var expected  = 3;

            Assert.AreEqual(expected, result);
        }
Ejemplo n.º 4
0
        public void TestMultipleArgumentEvaluation()
        {
            var operators = new List <IEvaluatable <double> >
            {
                new Operator <double>("f", 2, Associativity.L, (a, b) => a * b)
            };

            var evaluator = new PostFixEvaluator(new EvaluatableCollection <double>(operators));
            var result    = evaluator.Eval("2 3 f");
            var expected  = 6;

            Assert.AreEqual(expected, result);
        }
Ejemplo n.º 5
0
 public void TestAssociativity()
 {
     var evaluator = new PostFixEvaluator(new EvaluatableCollection <double>(Ops));
     var result    = evaluator.Eval("1 2 -");
     var expected  = -1;
 }