예제 #1
0
        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); }));
        }
예제 #2
0
        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 == "обязательно"); }));
        }