private static void CreateConfigWithCallHandlers(ContainerElement c) { var interceptionElement = new InterceptionElement(); var policy = new PolicyElement() { Name = "PolicyOne" }; policy.MatchingRules.Add(new MatchingRuleElement() { Name = "All", TypeName = "AlwaysMatchingRule" }); policy.CallHandlers.Add(new CallHandlerElement() { Name = "NamedRule" }); policy.CallHandlers.Add(new CallHandlerElement() { Name = "NameAndType", TypeName = "DoMoreRule" }); policy.CallHandlers.Add(new CallHandlerElement() { Name = "HandlerWithLifetime", TypeName = "DoSomethingRule", Lifetime = new LifetimeElement() { TypeName = "singleton" } }); var handlerWithMembers = new CallHandlerElement() { Name = "HandlerWithElements", TypeName = "CallCountHandler" }; handlerWithMembers.Injection.Add(new ConstructorElement()); handlerWithMembers.Injection.Add(new PropertyElement() { Name = "MyProp" }); policy.CallHandlers.Add(handlerWithMembers); interceptionElement.Policies.Add(policy); c.ConfiguringElements.Add(interceptionElement); }
private static void CreateConfigWithMatchingRules(ContainerElement c) { var interceptionElement = new InterceptionElement(); var policy = new PolicyElement() { Name = "PolicyOne" }; policy.MatchingRules.Add(new MatchingRuleElement() { Name = "NameOnly" }); policy.MatchingRules.Add(new MatchingRuleElement() { Name = "NameAndType", TypeName = "AlwaysMatchingRule" }); policy.MatchingRules.Add(new MatchingRuleElement { Name = "RuleWithLifetime", TypeName = "AlwaysMatchingRule", Lifetime = new LifetimeElement() { TypeName = "singleton" } }); var ruleWithMembers = new MatchingRuleElement { Name = "RuleWithElements", TypeName = "AlwaysMatchingRule" }; ruleWithMembers.Injection.Add(new ConstructorElement()); ruleWithMembers.Injection.Add(new PropertyElement() { Name = "MyProp" }); policy.MatchingRules.Add(ruleWithMembers); interceptionElement.Policies.Add(policy); c.ConfiguringElements.Add(interceptionElement); }
public void Then_PoliciesWithNoContentsAreSerialized() { var loadedConfig = SerializeAndLoadConfig("EmptyPolicies.config", c => { var interceptionElement = new InterceptionElement(); interceptionElement.Policies.Add(new PolicyElement() { Name = "Policy1" }); interceptionElement.Policies.Add(new PolicyElement() { Name = "Policy2" }); c.ConfiguringElements.Add(interceptionElement); }); var policies = (InterceptionElement)loadedConfig.Containers.Default.ConfiguringElements[0]; policies.Policies.Select(p => p.Name) .AssertContainsExactly("Policy1", "Policy2"); }
private static void CreateConfigWithMatchingRules(ContainerElement c) { var interceptionElement = new InterceptionElement(); var policy = new PolicyElement() {Name = "PolicyOne"}; policy.MatchingRules.Add(new MatchingRuleElement() { Name = "NameOnly" }); policy.MatchingRules.Add(new MatchingRuleElement() { Name = "NameAndType", TypeName = "AlwaysMatchingRule" }); policy.MatchingRules.Add(new MatchingRuleElement { Name = "RuleWithLifetime", TypeName = "AlwaysMatchingRule", Lifetime = new LifetimeElement() { TypeName = "singleton" } }); var ruleWithMembers = new MatchingRuleElement { Name = "RuleWithElements", TypeName = "AlwaysMatchingRule" }; ruleWithMembers.Injection.Add(new ConstructorElement()); ruleWithMembers.Injection.Add(new PropertyElement() { Name = "MyProp" } ); policy.MatchingRules.Add(ruleWithMembers); interceptionElement.Policies.Add(policy); c.ConfiguringElements.Add(interceptionElement); }