public void Test_RuleSelector() { var rule = new TestValidateRule(); var context = new ValidateContext(); var selector = new RuleSelector(); m_Data.ForEach(i => { rule.RuleSet = i.Item1; context.RuleSetList = i.Item2; Assert.Equal(i.Item3, selector.CanExecute(rule, context)); }); }
public void Test() { Rule<string>[] rules = { new Rule<string>(new Symbol<string>("A"), new [] { new Symbol<string>("a" ) } ), new Rule<string>(new Symbol<string>("B"), new [] { new Symbol<string>("b" ) } ), new Rule<string>(new Symbol<string>("C"), new [] { new Symbol<string>("c" ) } ) }; RuleSelector<string> ruleSelector = new RuleSelector<string>(rules); Assert.AreEqual(rules[0], ruleSelector.Next()); Assert.AreEqual(rules[1], ruleSelector.Next()); Assert.AreEqual(rules[2], ruleSelector.Next()); Assert.AreEqual(rules[0], ruleSelector.Next()); }
private void InitializeFieldsIfNecessary() { if (_jqaManager != null) { return; } _jqaManager = new JqaManager(); _historyManager = new HistoryManager(); _ruleSelector = new RuleSelector(); _jqaExecutor = new JqaExecutor(_historyManager, _ruleSelector); _scanAndReportTab = new ScanAndReportTab(_jqaExecutor, _historyManager, _ruleSelector); _installTab = new InstallTab(_jqaManager); _manageCustomRulesTab = new ManageCustomRulesTab(); _navigationButtonStyle = NavigationButtonStyleProvider.Provide(); }
// Use this for initialization void Start() { shapes = new List <GameObject>(); if (grammarObject == null) { grammarObject = GameObject.Find("Split Grammar"); } ruleSelector = grammarObject.GetComponent <RuleSelector>(); grammar = grammarObject.GetComponent <Grammar>(); startingShapes = getStartingShapes(); foreach (GameObject s in startingShapes) { shapes.Add(s); } StartCoroutine(generate()); }
public JqaExecutor(HistoryManager historyManager, RuleSelector ruleSelector) { _ruleSelector = ruleSelector; _historyManager = historyManager; }
public RuleSelector(SelectorType selectorType, string identifier, RuleSelector parentSelector) { SelectorType = selectorType; Identifier = identifier; Parent = parentSelector; }