Esempio n. 1
0
        public async Task RemoveLogicInstance()
        {
            await using var db = new AutomaticaContext(Configuration);

            var logicTemplateFactory = new RuleTemplateFactory(db, Configuration);

            var pages = Controller.GetPages().ToList();
            var page  = pages.First();

            var ruleInstance1 = logicTemplateFactory.CreateRuleInstance(Controller.GetRuleTemplates().First());
            var ruleInstance2 = logicTemplateFactory.CreateRuleInstance(Controller.GetRuleTemplates().First());

            page.RuleInstance.Add(ruleInstance1);
            page.RuleInstance.Add(ruleInstance2);

            var savedPages = (await Controller.Save(pages)).ToList();

            var ruleInstance2ToRemove = savedPages.First().RuleInstance.First(a => a.ObjId == ruleInstance2.ObjId);

            savedPages.First().RuleInstance.Remove(ruleInstance2ToRemove);

            savedPages = (await Controller.Save(savedPages)).ToList();

            Assert.Single(savedPages.First().RuleInstance);
            Assert.Equal(savedPages.First().RuleInstance.First().ObjId, ruleInstance1.ObjId);
        }
Esempio n. 2
0
        public async Task TestAddLogicInstancesAndLink()
        {
            await using var db = new AutomaticaContext(Configuration);

            var logicTemplateFactory = new RuleTemplateFactory(db, Configuration);

            var pages = Controller.GetPages().ToList();
            var page  = pages.First();

            var ruleInstance1 = logicTemplateFactory.CreateRuleInstance(Controller.GetRuleTemplates().First());
            var ruleInstance2 = logicTemplateFactory.CreateRuleInstance(Controller.GetRuleTemplates().First());

            page.RuleInstance.Add(ruleInstance1);
            page.RuleInstance.Add(ruleInstance2);

            page.Link.Add(new Link
            {
                This2RuleInterfaceInstanceInputNavigation  = ruleInstance2.RuleInterfaceInstance.First(a => a.This2RuleInterfaceTemplateNavigation.This2RuleInterfaceDirection == (long)RuleInterfaceDirection.Input),
                This2RuleInterfaceInstanceOutputNavigation = ruleInstance2.RuleInterfaceInstance.First(a => a.This2RuleInterfaceTemplateNavigation.This2RuleInterfaceDirection == (long)RuleInterfaceDirection.Output)
            });

            var savedPages = (await Controller.Save(pages)).ToList();

            Assert.Equal(2, savedPages.First().RuleInstance.Count);
            Assert.NotEmpty(savedPages.First().Link);
        }
Esempio n. 3
0
        private void AddLogicTemplate()
        {
            using var db = new AutomaticaContext(Configuration);

            var logicTemplateFactory = new RuleTemplateFactory(db, Configuration);

            var factory = new TestLogicFactory();

            factory.InitTemplates(logicTemplateFactory);
        }
Esempio n. 4
0
        public async Task TestAddLogicInstance()
        {
            using var db = new AutomaticaContext(Configuration);

            var logicTemplateFactory = new RuleTemplateFactory(db, Configuration);

            var pages = Controller.GetPages().ToList();
            var page  = pages.First();

            var ruleInstance = logicTemplateFactory.CreateRuleInstance(Controller.GetRuleTemplates().First());

            Assert.Equal(2, ruleInstance.RuleInterfaceInstance.Count);
            Assert.NotEmpty(ruleInstance.RuleInterfaceInstance.Where(a => a.This2RuleInterfaceTemplateNavigation.This2RuleInterfaceDirection == (long)RuleInterfaceDirection.Input));
            Assert.NotEmpty(ruleInstance.RuleInterfaceInstance.Where(a => a.This2RuleInterfaceTemplateNavigation.This2RuleInterfaceDirection == (long)RuleInterfaceDirection.Output));

            page.RuleInstance.Add(ruleInstance);

            var savedPages = await Controller.Save(pages);

            Assert.Equal(savedPages.First().RuleInstance.First().ObjId, ruleInstance.ObjId);
        }