Esempio n. 1
0
 public StatementParser(TokenIterator iterator)
     : base(iterator)
 {
     //Create subparsers
     predicateParser  = new PredicateParser(iterator);
     expressionParser = new ExpressionParser(iterator);
     embeddingParser  = new EmbeddingParser(iterator);
     markupParser     = new MarkupParser(iterator);
 }
Esempio n. 2
0
 public StatementParser(TokenIterator iterator)
     : base(iterator)
 {
     //Create subparsers
     predicateParser = new PredicateParser(iterator);
     expressionParser = new ExpressionParser(iterator);
     embeddingParser = new EmbeddingParser(iterator);
     markupParser = new MarkupParser(iterator);
 }
Esempio n. 3
0
        public void ParseAndPredicateTest()
        {
            //Create parser
            PredicateParser predicateParser = new PredicateParser(Init("condition1 && test.list? && condition2"));
            Predicate parsedPredicate = predicateParser.ParsePredicate();

            //Check Predicates
            Assert.AreEqual(typeof(AndPredicate), parsedPredicate.GetType());

            //Check AndPredicate
            AndPredicate parsedAndPredicate = (AndPredicate) parsedPredicate;
            Assert.AreEqual(typeof(ExpressionPredicate), parsedAndPredicate.GetLeftPredicate().GetType());
            Assert.AreEqual(typeof(AndPredicate), parsedAndPredicate.GetRightPredicate().GetType());

            //Check nested AndPredicate
            AndPredicate parsedNestedAndPredicate = (AndPredicate)parsedAndPredicate.GetRightPredicate();
            Assert.AreEqual(typeof(IsPredicate), parsedNestedAndPredicate.GetLeftPredicate().GetType());
            Assert.AreEqual(typeof(ExpressionPredicate), parsedNestedAndPredicate.GetRightPredicate().GetType());
        }
Esempio n. 4
0
        public void ParseIsPredicateTest()
        {
            //Create parser
            PredicateParser predicateParser = new PredicateParser(Init(".string?"));
            ExpressionParser expressionParser = new ExpressionParser(Init("test"));
            Expression parsedExpression = expressionParser.ParseExpression();
            IsPredicate parsedIsPredicate = predicateParser.ParseIsPredicate(parsedExpression);

            //Check expression
            Assert.AreEqual(typeof(VarExpression), parsedIsPredicate.GetExpression().GetType());
            Assert.AreEqual("test", parsedIsPredicate.GetExpression().ToString());

            //Check type
            Assert.AreEqual(typeof(StringType), parsedIsPredicate.GetType().GetType());
        }
Esempio n. 5
0
        public void ParseOrPredicateTest()
        {
            //Create parser
            PredicateParser predicateParser = new PredicateParser(Init("condition1 || condition2 || condition3"));
            Predicate parsedPredicate = predicateParser.ParsePredicate();

            //Check Predicates
            Assert.AreEqual(typeof(OrPredicate), parsedPredicate.GetType());

            //Check OrPredicate
            OrPredicate parsedOrPredicate = (OrPredicate)parsedPredicate;
            Assert.AreEqual(typeof(ExpressionPredicate), parsedOrPredicate.GetLeftPredicate().GetType());
            Assert.AreEqual(typeof(OrPredicate), parsedOrPredicate.GetRightPredicate().GetType());

            //Check nested OrPredicate
            OrPredicate parsedNestedOrPredicate = (OrPredicate)parsedOrPredicate.GetRightPredicate();
            Assert.AreEqual(typeof(ExpressionPredicate), parsedNestedOrPredicate.GetLeftPredicate().GetType());
            Assert.AreEqual(typeof(ExpressionPredicate), parsedNestedOrPredicate.GetRightPredicate().GetType());
        }