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); }
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); }
private void AddLogicTemplate() { using var db = new AutomaticaContext(Configuration); var logicTemplateFactory = new RuleTemplateFactory(db, Configuration); var factory = new TestLogicFactory(); factory.InitTemplates(logicTemplateFactory); }
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); }