예제 #1
0
        public void Factorial_Test()
        {
            var evaluator = ExpressionEvaluatorFactory.Create <decimal>();
            var result    = evaluator.Factorial(5);

            Assert.AreEqual(120m, result);
        }
예제 #2
0
        protected override IEnumerable <JToken> MatchTypeTokens(JObject token)
        {
            EnsureArg.IsNotNull(token, nameof(token));
            var evaluator = ExpressionEvaluatorFactory.Create(Template.TypeMatchExpression);

            return(evaluator.SelectTokens(token));
        }
예제 #3
0
        public void Sum_Test()
        {
            var evaluator = ExpressionEvaluatorFactory.Create <decimal>();
            var sequence  = evaluator.Sequence(5, (ev, n, i) => n - 1, (ev, n, i) => n > 0);
            var result    = evaluator.Sum(sequence);

            Assert.AreEqual(15m, result);
        }
예제 #4
0
        public void Product_Test()
        {
            var evaluator = ExpressionEvaluatorFactory.Create <decimal>();
            var sequence  = evaluator.Sequence(4, (ev, n, i) => n - 1, (ev, n, i) => n > 0);
            var result    = evaluator.Product(sequence);

            Assert.AreEqual(24m, result);
        }
예제 #5
0
        public void Sequence_Test()
        {
            var evaluator = ExpressionEvaluatorFactory.Create <decimal>();
            var sequence  = evaluator.Sequence(5, (ev, n, i) => n - 1, (ev, n, i) => n > 0);
            var result    = string.Join(";", sequence);

            Assert.AreEqual("5;4;3;2;1", result);
        }