public StatementParser(TokenIterator iterator) : base(iterator) { //Create subparsers predicateParser = new PredicateParser(iterator); expressionParser = new ExpressionParser(iterator); embeddingParser = new EmbeddingParser(iterator); markupParser = new MarkupParser(iterator); }
public StatementParser(TokenIterator iterator) : base(iterator) { //Create subparsers predicateParser = new PredicateParser(iterator); expressionParser = new ExpressionParser(iterator); embeddingParser = new EmbeddingParser(iterator); markupParser = new MarkupParser(iterator); }
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()); }
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()); }
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()); }