Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }