public void Test()
        {
            using (var interp = new Interpreter<MyCalc>())
            {
                Assert.IsTrue(interp.Parse("1 + 2 * 3"));
                Assert.AreEqual(7, interp.Context.Outcome);
            }

            using (var freezer = new CilFreezer<MyCalc>())
            {
                Pipe<MyCalc> code = freezer.Compile("1 + 2 * 3");

                var context = new MyCalc();
                Assert.AreEqual(7, code(context).Outcome);
            }
        }
Example #2
0
        public void Test()
        {
            using (var interp = new Interpreter <MyCalc>())
            {
                Assert.IsTrue(interp.Parse("1 + 2 * 3"));
                Assert.AreEqual(7, interp.Context.Outcome);
            }

            using (var freezer = new CilFreezer <MyCalc>())
            {
                Pipe <MyCalc> code = freezer.Compile("1 + 2 * 3");

                var context = new MyCalc();
                Assert.AreEqual(7, code(context).Outcome);
            }
        }