public void TestAddingRules() { TestRuleEngine t = new TestRuleEngine(/*new ThreadIsolatedContextHandler<RequestContext>()*/); t.AddRule(new TestRule("Test1", "1.0", RuleScope.UpVoteComment)); t.AddRule(new TestRule("Test2", "1.1", RuleScope.DownVoteComment)); t.AddRule(new TestRule("Test3", "1.2", RuleScope.PostSubmission)); t.AddRule(new TestRule("Test4", "1.3", RuleScope.PostComment)); t.AddRule(new TestRule("Test5", "1.4", RuleScope.UpVoteSubmission)); t.AddRule(new TestRule("Test6", "1.5", RuleScope.DownVoteSubmission)); t.AddRule(new TestRule("Test7", "1.6", RuleScope.UpVoteComment)); t.AddRule(new TestRule("Test8", "1.7", RuleScope.UpVoteComment)); t.AddRule(new TestRule("Test9", "1.8", RuleScope.Global)); var r = t.GetRules(RuleScope.DownVoteComment); Assert.IsTrue(r.Count() == 1); //Test if global is included r = t.GetRules(RuleScope.DownVoteComment, true); Assert.IsTrue(r.Count() == 2); r = t.GetRules(RuleScope.UpVoteComment); Assert.IsTrue(r.Count() == 3); r = t.GetRules(RuleScope.Global); Assert.IsTrue(r.Count() == 1); r = t.GetRules(RuleScope.UpVoteSubmission); Assert.IsTrue(r.Count() == 1); r = t.GetRules(RuleScope.PostComment); Assert.IsTrue(r.Count() == 1); }
public void TestContextUniqueness() { //var contextHandler = new ThreadIsolatedContextHandler<RequestContext>(); TestRuleEngine engine = new TestRuleEngine(/*contextHandler*/); engine.AddRule(new TestRule("Test1", "1.0", RuleScope.Global)); engine.AddRule(new TestRule("Test2", "1.1", RuleScope.Global)); var context = new RequestContext(); var r = engine.EvaluateRuleSet(context, new RuleScope[] { RuleScope.Global }); //engine.Context.PropertyBag.Value = 1; //Assert.IsTrue(contextHandler.ContextStore.Count == 1); //Assert.IsTrue(contextHandler.ContextStore. == 1); }