public void rule_registration_is_idempotent() { var rules = new AccessorRules(); rules.Add<Target1>(x => x.Age, new ColorRule("red")); rules.Add<Target1>(x => x.Age, new ColorRule("red")); rules.Add<Target1>(x => x.Age, new ColorRule("red")); rules.AllRulesFor<Target1, IRule>(x => x.Age) .Single().ShouldEqual(new ColorRule("red")); }
public void rule_registration_is_idempotent() { var rules = new AccessorRules(); rules.Add <Target1>(x => x.Age, new ColorRule("red")); rules.Add <Target1>(x => x.Age, new ColorRule("red")); rules.Add <Target1>(x => x.Age, new ColorRule("red")); rules.AllRulesFor <Target1, IRule>(x => x.Age) .Single().ShouldEqual(new ColorRule("red")); }
public void returns_all_rules_of_a_type() { var rules = new AccessorRules(); rules.Add<Target1>(x => x.Name, new ColorRule("red")); rules.Add<Target1>(x => x.Name, new ColorRule("green")); rules.Add<Target1>(x => x.Name, new ColorRule("blue")); rules.Add<Target1>(x => x.Name, new FooPolicy()); rules.Add<Target1>(x => x.Name, new BarPolicy()); rules.AllRulesFor<Target1, IRule>(x => x.Name).ShouldHaveTheSameElementsAs( new ColorRule("red"), new ColorRule("green"), new ColorRule("blue")); }
public void SetUp() { theRules = new AccessorRules(); a1 = accessor(x => x.Prop1); a2 = accessor(x => x.Prop2); a3 = accessor(x => x.Prop3); theRules.Add(a1, new RequiredFieldRule()); theRules.Add(a3, new EmailFieldRule()); theRules.Add(a3, new GreaterThanZeroRule()); theSource = new AccessorRulesFieldSource(theRules); }
public void returns_all_rules_of_a_type() { var rules = new AccessorRules(); rules.Add <Target1>(x => x.Name, new ColorRule("red")); rules.Add <Target1>(x => x.Name, new ColorRule("green")); rules.Add <Target1>(x => x.Name, new ColorRule("blue")); rules.Add <Target1>(x => x.Name, new FooPolicy()); rules.Add <Target1>(x => x.Name, new BarPolicy()); rules.AllRulesFor <Target1, IRule>(x => x.Name).ShouldHaveTheSameElementsAs( new ColorRule("red"), new ColorRule("green"), new ColorRule("blue")); }
public void add_and_retrieve_rules_by_accessor() { var rules = new AccessorRules(); rules.Add<Target1>(x => x.Name, new FooRule()); rules.Add<Target2>(x => x.Name, new BarRule()); rules.Add<Target1>(x => x.Age, new ColorRule("red")); rules.Add<Target2>(x => x.Age, new ColorRule("green")); rules.FirstRule<Target1, IRule>(x => x.Name).ShouldBeOfType<FooRule>(); rules.FirstRule<Target2, IRule>(x => x.Name).ShouldBeOfType<BarRule>(); rules.FirstRule<Target1, IRule>(x => x.Age).ShouldBeOfType<ColorRule>().Color.ShouldEqual("red"); rules.FirstRule<Target2, IRule>(x => x.Age).ShouldBeOfType<ColorRule>().Color.ShouldEqual("green"); }
public void add_and_retrieve_rules_by_accessor() { var rules = new AccessorRules(); rules.Add <Target1>(x => x.Name, new FooRule()); rules.Add <Target2>(x => x.Name, new BarRule()); rules.Add <Target1>(x => x.Age, new ColorRule("red")); rules.Add <Target2>(x => x.Age, new ColorRule("green")); rules.FirstRule <Target1, IRule>(x => x.Name).ShouldBeOfType <FooRule>(); rules.FirstRule <Target2, IRule>(x => x.Name).ShouldBeOfType <BarRule>(); rules.FirstRule <Target1, IRule>(x => x.Age).ShouldBeOfType <ColorRule>().Color.ShouldEqual("red"); rules.FirstRule <Target2, IRule>(x => x.Age).ShouldBeOfType <ColorRule>().Color.ShouldEqual("green"); }
public void matches_negative_with_no_overrides_for_this_accessor() { theOverrides.Add <OverrideTarget>(x => x.Age, new ElementTagOverride <SimpleBuilder>("C1", "P1")); var request = ElementRequest.For <OverrideTarget>(x => x.Name); thePolicy.Matches(request).ShouldBeFalse(); }