예제 #1
0
        public void AddActionRuleFromPrototype()
        {
            var factory = new RuleFactory <Entity>();
            var rule    = factory.CreateActionRule(en => en.SetNumber2(en.Number));

            var e = new Entity();
            var r = e.Extensions.AddRuleFromPrototype(rule);

            e.Number = 8;
            e.Number.ShouldEqual(8);
            r.ShouldNotBeTheSameAs(rule);
        }
예제 #2
0
        public void CreateRules()
        {
            var factory = new RuleFactory <Entity>();

            factory.CreateActionRule(en => en.Name.ToString());
            factory.CreateActionRuleWithoutDependency(en => en.Name.ToString())
            .WithDependencies(en => en.Number);

            factory.CreateValidationRule(en => en.Number < 10);
            factory.CreateValidationRuleWithoutDependency(en => en.Number < 10)
            .WithDependencies(en => en.Number);

            factory.CreateBusinessRule(en => en.Number2 + en.Number3, en => en.Number);
        }