Ejemplo n.º 1
0
        public void GetAndEvaluateEvalExpression()
        {
            EvalExpression expression = EvalExpression.Instance;

            Assert.IsNotNull(expression);

            Machine machine = new Machine();

            IList list = new ArrayList();

            list.Add(1);
            list.Add(2);

            machine.Push(list);
            machine.Push("dup add_int add_int");

            expression.Evaluate(machine);

            Assert.AreEqual(1, machine.StackCount);
            Assert.IsInstanceOfType(machine.Top(), typeof(IList));

            IList result = (IList)machine.Pop();

            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(5, result[0]);
        }