public void TestParsingQuery() { string query = "если 'погода - ветренно', 'дождь - да' то 'взять зонт=?', 'одеться теплее=?'"; IParser parser = new PrModelParser(new LogicalExpressionHelper()); ILogicalQuery q = parser.ParseQuery(query); Assert.IsTrue(q.GetQueriedItems().Count() == 2); Assert.IsTrue(q.GetPreQueryActions().Count() == 2); Assert.IsTrue(q.GetPreQueryActions().All((a) => { return(a is AddFactAction); })); Assert.IsTrue(q.GetQueriedItems().All((a) => { return(a is ProductionFact); })); }
public void TestParsingQueryWithProperty() { string query = "если 'погода - ветренно', 'дождь - да' то 'взять зонт=?обязательно', 'одеться теплее=?обязательно'"; Assert.IsTrue(ProductionQueryGrammar.Query.ExactMatch(query)); IParser parser = new PrModelParser(new LogicalExpressionHelper()); ILogicalQuery q = parser.ParseQuery(query); Assert.IsTrue(q.GetQueriedItems().Count() == 2); Assert.IsTrue(q.GetPreQueryActions().Count() == 2); Assert.IsTrue(q.GetPreQueryActions().All((a) => { return(a is AddFactAction); })); Assert.IsTrue(q.GetQueriedItems().All((a) => { return(a is ProductionFact); })); Assert.IsTrue(q.GetQueriedItems().All(a => { return(a.Value == "обязательно"); })); }