Ejemplo n.º 1
0
        public void TestCanParsesimple1()
        {
            var parser = new FileParser();

            var data = new ParseRuleResponse();
            var res  = parser.ParseFiles($"simple1.net", $"simple1.spec");

            Assert.IsTrue(res.Merges.Count > 0);
        }
Ejemplo n.º 2
0
        public void TestCanParseToys2()
        {
            var parser = new FileParser();

            var data = new ParseRuleResponse();
            var res  = parser.ParseFiles($"toy_changed2.net", $"toy_changed2.spec");

            Assert.IsTrue(res.Merges.Count > 0);
        }
Ejemplo n.º 3
0
        public void TestCanParsePluripotencySmallCase()
        {
            var parser = new FileParser();

            var data = new ParseRuleResponse();
            var res  = parser.ParseFiles($"pluripotency_small.net", $"pluripotency_small.spec");



            Assert.IsTrue(res.MergeObjects.Count > 0);

            var txt = new RuleFileWriter().CreateSpecString(res.MergeObjects);

            logger.Info(txt);
        }
Ejemplo n.º 4
0
        [TestMethod] public void TestCanParseToyOriginalCase()
        {
            var parser = new FileParser();

            var data = new ParseRuleResponse();
            var res  = parser.ParseFiles($"toy.net", $"toy.spec");



            Assert.IsTrue(res.MergeObjects.Count > 0);

            var txt = new RuleFileWriter().CreateSpecString(res.MergeObjects);

            logger.Info(txt);
        }
Ejemplo n.º 5
0
        private static bool IsExistPath(string experimentName)
        {
            var solver = NinjectHelper.Get <IBDDSolver>();

            var parser = new FileParser();

            var data = new ParseRuleResponse();
            var res  = parser.GetConditionAndExperiments($"{experimentName}.net", $"{experimentName}.spec", out data);

            var automates =
                data.Experiments.ToDictionary(s => s.Key,
                                              s => new AutomataFromExperimentCreator().CreateAutomata(s.Value));

            var sos = solver.IsValidPath(automates.First().Value, res);

            return(sos);
        }
Ejemplo n.º 6
0
        public IHttpActionResult GetData()
        {
            var solver = NinjectHelper.Get <IBDDSolver>();

            var parser = new FileParser();

            var data = new ParseRuleResponse();
            var res  = parser.GetConditionAndExperiments(PathHelper.GetExamplePath("toy"), PathHelper.GetSpecPath("toy"), out data);

            var automates =
                data.Experiments.ToDictionary(s => s.Key,
                                              s => new AutomataFromExperimentCreator().CreateAutomata(s.Value));

            var sos = solver.IsValidPath(automates.First().Value, res);

            return(Ok(new { message = sos }));
        }
Ejemplo n.º 7
0
        public void TestHerrmannCaseBddSolverIsWrong()
        {
            var parser = new FileParser();

            var data = new ParseRuleResponse();
            var res  = parser.GetConditionAndExperiments($"herrmann.net", $"herrmann.spec", out data);

            var automates =
                data.Experiments.ToDictionary(s => s.Key,
                                              s => new AutomataFromExperimentCreator().CreateAutomata(s.Value));

            bool sos = true;
            int  i   = 0;

            automates.ToList().ForEach(a =>
            {
                var solver = NinjectHelper.Get <IBDDSolver>();

                logger.Info("Start " + (i++));
                sos &= solver.IsValidPath(a.Value, res);
            });

            Assert.IsFalse(sos);
        }