Exemplo n.º 1
0
        private bool Evaluate(object obj, string expression)
        {
            double?candidate = default(double?);

            if (IsNumeric(obj))
            {
                candidate = ConvertUtil.GetValueDouble(obj);
            }
            if (candidate.HasValue)
            {
                return(_numericExpressionEvaluator.Evaluate(candidate.Value, expression));
            }
            return(_wildCardValueMatcher.IsMatch(expression, obj.ToString()) == 0);
        }
Exemplo n.º 2
0
        private double CalculateWithSumRange(IEnumerable <FunctionArgument> range, string criteria, IEnumerable <FunctionArgument> sumRange)
        {
            var retVal            = 0d;
            var flattenedRange    = ArgsToDoubleEnumerable(range);
            var flattenedSumRange = ArgsToDoubleEnumerable(sumRange);

            for (var x = 0; x < flattenedRange.Count(); x++)
            {
                var candidate = flattenedSumRange.ElementAt(x);
                if (_evaluator.Evaluate(flattenedRange.ElementAt(x), criteria))
                {
                    retVal += Convert.ToDouble(candidate);
                }
            }
            return(retVal);
        }
Exemplo n.º 3
0
        protected bool Evaluate(object obj, object expression)
        {
            double?candidate = default(double?);

            if (IsNumeric(obj))
            {
                candidate = ConvertUtil.GetValueDouble(obj);
            }
            if (candidate.HasValue && expression is string)
            {
                return(_numericExpressionEvaluator.Evaluate(candidate.Value, expression.ToString()));
            }
            if (obj == null)
            {
                return(false);
            }
            return(_wildCardValueMatcher.IsMatch(expression, obj.ToString()) == 0);
        }
Exemplo n.º 4
0
        public void EvaluateShouldReturnTrueIfOperandsAreEqual()
        {
            var result = _evaluator.Evaluate("1", "1");

            Assert.IsTrue(result);
        }