Ejemplo n.º 1
0
            public void InvalidMethodSignature()
            {
                EventBrokerService service    = new EventBrokerService();
                SpyEventSink       sink       = new SpyEventSink();
                MethodInfo         sinkMethod = sink.GetType().GetMethod("NonSinkMethod");

                Assert.Throws <ArgumentException>(delegate
                {
                    service.RegisterSink(sink, sinkMethod, "MyEvent");
                });
            }
Ejemplo n.º 2
0
            public void NullSink()
            {
                EventBrokerService service    = new EventBrokerService();
                SpyEventSink       sink       = new SpyEventSink();
                MethodInfo         sinkMethod = sink.GetType().GetMethod("MySink");

                Assert.Throws <ArgumentNullException>(delegate
                {
                    service.RegisterSink(null, sinkMethod, "MyEvent");
                });
            }
Ejemplo n.º 3
0
            public void RegistrationSourceFirst()
            {
                EventBrokerService service     = new EventBrokerService();
                SpyEventSource     source      = new SpyEventSource();
                SpyEventSink       sink        = new SpyEventSink();
                EventInfo          sourceEvent = source.GetType().GetEvent("MySource");
                MethodInfo         sinkMethod  = sink.GetType().GetMethod("MySink");

                service.RegisterSource(source, sourceEvent, "MyEvent");
                service.RegisterSink(sink, sinkMethod, "MyEvent");

                source.InvokeMySource();

                Assert.Equal(source.SourceText, sink.EventValue);
            }
Ejemplo n.º 4
0
            public void UnregisterSinkUnwiresHandler()
            {
                EventBrokerService service     = new EventBrokerService();
                SpyEventSource     source      = new SpyEventSource();
                SpyEventSink       sink        = new SpyEventSink();
                EventInfo          sourceEvent = source.GetType().GetEvent("MySource");
                MethodInfo         sinkMethod  = sink.GetType().GetMethod("MySink");

                service.RegisterSource(source, sourceEvent, "MyEvent");
                service.RegisterSink(sink, sinkMethod, "MyEvent");
                service.UnregisterSink(sink, "MyEvent");

                source.InvokeMySource();

                Assert.False(sink.WasCalled);
            }