public void ClassWithSource() { MockBuilderContext context = new MockBuilderContext(); EventBrokerReflectionStrategy strategy = new EventBrokerReflectionStrategy(); strategy.BuildUp(context, typeof(Source), null); IEventBrokerPolicy policy = context.Policies.Get <IEventBrokerPolicy>(typeof(Source)); Assert.NotNull(policy); Assert.Contains(new KeyValuePair <string, EventInfo>("Baz", typeof(Source).GetEvent("EventSource")), policy.Sources); }
public void ClassWithSink() { MockBuilderContext context = new MockBuilderContext(); EventBrokerReflectionStrategy strategy = new EventBrokerReflectionStrategy(); strategy.BuildUp(context, typeof(Sink), null); IEventBrokerPolicy policy = context.Policies.Get <IEventBrokerPolicy>(typeof(Sink)); Assert.NotNull(policy); Assert.Contains(new KeyValuePair <string, MethodInfo>("Bar", typeof(Sink).GetMethod("EventSinkMethod")), policy.Sinks); }
public override object BuildUp(IBuilderContext context, object buildKey, object existing) { IEventBrokerPolicy policy = context.Policies.Get <IEventBrokerPolicy>(buildKey); EventBrokerService service = context.Locator.Get <EventBrokerService>(); if (policy != null && service != null) { foreach (KeyValuePair <string, MethodInfo> kvp in policy.Sinks) { service.RegisterSink(existing, kvp.Value, kvp.Key); } foreach (KeyValuePair <string, EventInfo> kvp in policy.Sources) { service.RegisterSource(existing, kvp.Value, kvp.Key); } } return(base.BuildUp(context, buildKey, existing)); }