AjErl.Expressions.SendExpression.Evaluate C# (CSharp) Method

Evaluate() public method

public Evaluate ( Context context, bool withvars = false ) : object
context Context
withvars bool
return object
        public object Evaluate(Context context, bool withvars = false)
        {
            object procvalue = this.processexpr.Evaluate(context, false);
            object message = this.messageexpr.Evaluate(context, false);

            Process process = (Process)procvalue;

            process.Tell(message);

            return message;
        }

Usage Example

Ejemplo n.º 1
0
        public void SendMessageToProcessWithVariableExpression()
        {
            Context context = new Context();
            Process process = new Process();
            context.SetValue("X", 1);

            SendExpression expr = new SendExpression(new ConstantExpression(process), new VariableExpression(new Variable("X")));

            Assert.IsNotNull(expr.ProcessExpression);
            Assert.IsInstanceOfType(expr.ProcessExpression, typeof(ConstantExpression));
            Assert.IsNotNull(expr.MessageExpression);
            Assert.IsInstanceOfType(expr.MessageExpression, typeof(VariableExpression));

            Assert.IsTrue(expr.HasVariable());
            Assert.AreEqual(1, expr.Evaluate(context));
            Assert.AreEqual(1, process.GetMessage());
        }