Exemple #1
0
        /// <summary>
        /// Evals the specified value evaluator.
        /// </summary>
        /// <param name="valueEvaluator">The value evaluator.</param>
        /// <param name="thisItem">The this item.</param>
        /// <param name="parameters">The parameters.</param>
        /// <returns></returns>
        public static object Eval(IValueEvaluator valueEvaluator, object thisItem, string parameters)
        {
            if (valueEvaluator == null)
                throw new ArgumentNullException("valueEvaluator");

            return valueEvaluator.Eval(thisItem, parameters);
        }
Exemple #2
0
        /// <summary>
        /// Evals the specified value evaluator.
        /// </summary>
        /// <param name="valueEvaluator">The value evaluator.</param>
        /// <param name="thisItem">The this item.</param>
        /// <param name="parameters">The parameters.</param>
        /// <returns></returns>
        public static object Eval(IValueEvaluator valueEvaluator, object thisItem, string parameters)
        {
            if (valueEvaluator == null)
            {
                throw new ArgumentNullException("valueEvaluator");
            }

            return(valueEvaluator.Eval(thisItem, parameters));
        }
Exemple #3
0
            private async ValueTask <DataModelValue> Evaluate(IValueEvaluator objectEvaluator, IExecutionContext executionContext, CancellationToken token)
            {
                switch (_expectedValueType)
                {
                case ExpectedValueType.String when objectEvaluator is IStringEvaluator evaluator:
                    return(await evaluator.EvaluateString(executionContext, token).ConfigureAwait(false));

                case ExpectedValueType.Integer when objectEvaluator is IIntegerEvaluator evaluator:
                    return(await evaluator.EvaluateInteger(executionContext, token).ConfigureAwait(false));

                case ExpectedValueType.Boolean when objectEvaluator is IBooleanEvaluator evaluator:
                    return(await evaluator.EvaluateBoolean(executionContext, token).ConfigureAwait(false));
                }

                var obj = await((IObjectEvaluator)objectEvaluator).EvaluateObject(executionContext, token).ConfigureAwait(false);

                return(DataModelValue.FromObject(obj));
            }
Exemple #4
0
 public IFakeUpConfig <TFakeObject> AddEvaluator(IValueEvaluator evaluator)
 {
     this.ValueEvaluators.Add(evaluator);
     return(this);
 }
Exemple #5
0
 public static string PlaceholderTag(this IValueEvaluator evaluator) => $"${{{evaluator.Info.Name}:";
 private static string GetEvaluatorTag(IValueEvaluator evaluator)
 {
     return(evaluator.Name);
 }