Ejemplo n.º 1
0
        public override void Interpret(IContext context)
        {
            ExpressionA.Interpret(context);
            ExpressionB.Interpret(context);
            var result = context.Get(ExpressionA).Equals(context.Get(ExpressionB));

            context.AddVariable(this, result);
        }
Ejemplo n.º 2
0
        public override void Interpret(IContext context)
        {
            ComparisonExpressionA.Interpret(context);
            ComparisonExpressionB.Interpret(context);
            var result = (bool)context.Get(ComparisonExpressionA) && (bool)context.Get(ComparisonExpressionB);

            context.AddVariable(this, result);
        }
Ejemplo n.º 3
0
        public override void Interpret(IContext context)
        {
            ExpressionA.Interpret(context);
            ExpressionB.Interpret(context);
            var result = (bool)context.Get(ExpressionA) || (bool)context.Get(ExpressionB);

            context.AddVariable(this, result);
        }
Ejemplo n.º 4
0
        public override void Interpret(IContext context)
        {
            ExpressionA.Interpret(context);
            ExpressionB.Interpret(context);
            var exprAresult = context.Get(ExpressionA);
            var exprBResult = context.Get(ExpressionB);
            var resultA     = exprAresult as string;
            var resultB     = exprBResult as string;

            if (resultA != null && resultB != null &&
                resultA.IndexOf(resultB, StringComparison.Ordinal) != -1)
            {
                context.AddVariable(this, true);
                return;
            }

            context.AddVariable(this, false);
        }
Ejemplo n.º 5
0
        public float ProcessStatement(IContext _context, string statement)
        {
            string[] split = statement.Split(' ');

            GalacticUnit gu = new GalacticUnit(split[2]);

            _context.AddVariable(split[0], gu);

            return(gu.ToArabic());
        }
Ejemplo n.º 6
0
        public void Interpret(IContext context)
        {
            var source = context.Get(_lookup);

            if (source != null)
            {
                var propertyInfo = source.GetType().GetProperty(_methodName);
                if (propertyInfo != null)
                {
                    var result = propertyInfo.GetGetMethod().Invoke(source, null);
                    context.AddVariable(this, result);
                }
            }
        }
Ejemplo n.º 7
0
        public IList <IContact> ContactsMatchingExpression(
            IExpression expression, IContext context, object key)
        {
            IList <IContact> contacts = new List <IContact>();

            foreach (var contact in _contacts)
            {
                context.AddVariable(key, contact);
                expression.Interpret(context);
                var interpretResult = context.Get(expression);
                if (interpretResult != null && interpretResult.Equals(true))
                {
                    contacts.Add(contact);
                }
            }

            return(contacts);
        }
Ejemplo n.º 8
0
 public void Interpret(IContext context) => context.AddVariable(this, _value);