Beispiel #1
0
        public void EventBusThrowsIfMessageNameIsNotCorrectlyFormatted()
        {
            var stub1 = new StubEventHandler();
            var stub2 = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Throws<ArgumentException>(() => eventBus.Notify("StubEventHandlerIncrement", new Dictionary<string, object>()));
        }
Beispiel #2
0
        public void EventBusThrowsIfMessageNameIsNotCorrectlyFormatted()
        {
            var stub1    = new StubEventHandler();
            var stub2    = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Throws <ArgumentException>(() => eventBus.Notify("StubEventHandlerIncrement", new Dictionary <string, object>()));
        }
Beispiel #3
0
        public void EventsAreCorrectlyDispatchedToEventHandlers()
        {
            var stub1    = new StubEventHandler();
            var stub2    = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Equal(0, stub1.Count);
            eventBus.Notify("ITestEventHandler.Increment", new Dictionary <string, object>());
            Assert.Equal(1, stub1.Count);
        }
Beispiel #4
0
 public void Init() {
     var builder = new ContainerBuilder();
     _eventBusHandler = new StubEventBusHandler();
     _eventHandler = new StubEventHandler();
     builder.RegisterInstance(_eventBusHandler).As<IEventBusHandler>();
     builder.RegisterInstance(_eventHandler).As<IEventHandler>();
     builder.RegisterType<DefaultOrchardEventBus>().As<IEventBus>();
     _container = builder.Build();
     _eventBus = _container.Resolve<IEventBus>();
 }
Beispiel #5
0
        public void EventHandlerWontBeCalledWhenNoParameterMatchExists2()
        {
            var stub1 = new StubEventHandler();
            var stub2 = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Equal(0, stub1.Result);
            Dictionary<string, object> arguments = new Dictionary<string, object>();
            eventBus.Notify("ITestEventHandler.Sum", arguments);
            Assert.Equal(0, stub1.Result);
        }
Beispiel #6
0
        public void EventHandlerWontBeCalledWhenNoParameterMatchExists2()
        {
            var stub1    = new StubEventHandler();
            var stub2    = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Equal(0, stub1.Result);
            Dictionary <string, object> arguments = new Dictionary <string, object>();

            eventBus.Notify("ITestEventHandler.Sum", arguments);
            Assert.Equal(0, stub1.Result);
        }
Beispiel #7
0
        public void NonStringNonEnumerableResultsAreTreatedLikeSelect()
        {
            var stub1    = new StubEventHandler();
            var stub2    = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            var results = eventBus.Notify("ITestEventHandler.GetInt", new Dictionary <string, object>()).Cast <int>();

            Assert.Equal(2, results.Count());
            Assert.Contains(1, results);
            Assert.Contains(2, results);
        }
Beispiel #8
0
        public void EnumerableResultsAreTreatedLikeSelectMany()
        {
            var stub1 = new StubEventHandler();
            var stub2 = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            var results = eventBus.Notify("ITestEventHandler.Gather", new Dictionary<string, object> { { "a", 42 }, { "b", "alpha" } }).Cast<string>();
            Assert.Equal(3, results.Count());
            Assert.Contains("42", results);
            Assert.Contains("alpha", results);
            Assert.Contains("[42,alpha]", results);
        }
Beispiel #9
0
        public void StringResultsAreTreatedLikeSelect()
        {
            var stub1    = new StubEventHandler();
            var stub2    = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            var results = eventBus.Notify("ITestEventHandler.GetString", new Dictionary <string, object>()).Cast <string>();

            Assert.Equal(2, results.Count());
            Assert.Contains("Foo", results);
            Assert.Contains("Bar", results);
        }
Beispiel #10
0
        public void EventParametersAreCorrectlyPassedToExactlyMatchingMethodWhenThereIsOne2()
        {
            var stub1    = new StubEventHandler();
            var stub2    = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Equal(0, stub1.Result);
            Dictionary <string, object> arguments = new Dictionary <string, object>();

            arguments["a"] = 1000;
            eventBus.Notify("ITestEventHandler.Sum", arguments);
            Assert.Equal(3000, stub1.Result);
        }
        public void Init()
        {
            _eventHandler = new StubEventHandler();

            var builder = new ContainerBuilder();

            builder.RegisterType <DefaultOrchardEventBus>().As <IEventBus>();
            builder.RegisterType <StubExceptionPolicy>().As <IExceptionPolicy>();
            builder.RegisterType <StubEventHandler2>().As <IEventHandler>();
            builder.RegisterInstance(_eventHandler).As <IEventHandler>();

            _container = builder.Build();
            _eventBus  = _container.Resolve <IEventBus>();
        }
Beispiel #12
0
        public void EventParametersArePassedInCorrectOrderToEventHandlers()
        {
            var stub1    = new StubEventHandler();
            var stub2    = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Equal(0, stub1.Result);
            Dictionary <string, object> arguments = new Dictionary <string, object>();

            arguments["a"] = 2600;
            arguments["b"] = 5200;
            eventBus.Notify("ITestEventHandler.Substract", arguments);
            Assert.Equal(-2600, stub1.Result);
        }
Beispiel #13
0
        public void EnumerableResultsAreTreatedLikeSelectMany()
        {
            var stub1    = new StubEventHandler();
            var stub2    = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            var results = eventBus.Notify("ITestEventHandler.Gather", new Dictionary <string, object> {
                { "a", 42 }, { "b", "alpha" }
            }).Cast <string>();

            Assert.Equal(3, results.Count());
            Assert.Contains("42", results);
            Assert.Contains("alpha", results);
            Assert.Contains("[42,alpha]", results);
        }
Beispiel #14
0
        public void EventParametersAreCorrectlyPassedToMatchingMethod()
        {
            var stub1    = new StubEventHandler();
            var stub2    = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Null(stub1.Summary);
            Dictionary <string, object> arguments = new Dictionary <string, object>();

            arguments["a"] = "a";
            arguments["b"] = "b";
            arguments["c"] = "c";
            eventBus.Notify("ITestEventHandler.Concat", arguments);
            Assert.Equal("abc", stub1.Summary);
        }
Beispiel #15
0
        public void EventParametersAreCorrectlyPassedToBestMatchingMethodAndExtraParametersAreIgnored()
        {
            var stub1    = new StubEventHandler();
            var stub2    = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Equal(0, stub1.Result);
            Dictionary <string, object> arguments = new Dictionary <string, object>();

            arguments["a"] = 1000;
            arguments["b"] = 100;
            arguments["c"] = 10;
            arguments["e"] = 1;
            eventBus.Notify("ITestEventHandler.Sum", arguments);
            Assert.Equal(1110, stub1.Result);
        }
Beispiel #16
0
        public void Init() {
            _eventHandler = new StubEventHandler();

            var builder = new ContainerBuilder();
            builder.RegisterType<DefaultOrchardEventBus>().As<IEventBus>();
            builder.RegisterType<StubExceptionPolicy>().As<IExceptionPolicy>();

            builder.RegisterType<StubEventHandler2>()
                .Named(typeof(ITestEventHandler).Name, typeof(IEventHandler))
                .Named(typeof(IEventHandler).Name, typeof(IEventHandler))
                .WithMetadata("Interfaces", typeof(StubEventHandler2).GetInterfaces().ToDictionary(i => i.Name));
            builder.RegisterInstance(_eventHandler)
                .Named(typeof(ITestEventHandler).Name, typeof(IEventHandler))
                .Named(typeof(IEventHandler).Name, typeof(IEventHandler))
                .WithMetadata("Interfaces", typeof(StubEventHandler).GetInterfaces().ToDictionary(i => i.Name));

            _container = builder.Build();
            _eventBus = _container.Resolve<IEventBus>();
        }
        public void Init()
        {
            _eventHandler = new StubEventHandler();

            var builder = new ContainerBuilder();

            builder.RegisterType <DefaultOrchardEventBus>().As <IEventBus>();
            builder.RegisterType <StubExceptionPolicy>().As <IExceptionPolicy>();

            builder.RegisterType <StubEventHandler2>()
            .Named(typeof(ITestEventHandler).Name, typeof(IEventHandler))
            .Named(typeof(IEventHandler).Name, typeof(IEventHandler))
            .WithMetadata("Interfaces", typeof(StubEventHandler2).GetInterfaces().ToDictionary(i => i.Name));
            builder.RegisterInstance(_eventHandler)
            .Named(typeof(ITestEventHandler).Name, typeof(IEventHandler))
            .Named(typeof(IEventHandler).Name, typeof(IEventHandler))
            .WithMetadata("Interfaces", typeof(StubEventHandler).GetInterfaces().ToDictionary(i => i.Name));

            _container = builder.Build();
            _eventBus  = _container.Resolve <IEventBus>();
        }
Beispiel #18
0
        public void EventParametersArePassedInCorrectOrderToEventHandlers()
        {
            var stub1 = new StubEventHandler();
            var stub2 = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Equal(0, stub1.Result);
            Dictionary<string, object> arguments = new Dictionary<string, object>();
            arguments["a"] = 2600;
            arguments["b"] = 5200;
            eventBus.Notify("ITestEventHandler.Substract", arguments);
            Assert.Equal(-2600, stub1.Result);
        }
Beispiel #19
0
        public void EventParametersAreCorrectlyPassedToExactlyMatchingMethodWhenThereIsOne2()
        {
            var stub1 = new StubEventHandler();
            var stub2 = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Equal(0, stub1.Result);
            Dictionary<string, object> arguments = new Dictionary<string, object>();
            arguments["a"] = 1000;
            eventBus.Notify("ITestEventHandler.Sum", arguments);
            Assert.Equal(3000, stub1.Result);
        }
Beispiel #20
0
        public void EventsAreCorrectlyDispatchedToEventHandlers()
        {
            var stub1 = new StubEventHandler();
            var stub2 = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Equal(0, stub1.Count);
            eventBus.Notify("ITestEventHandler.Increment", new Dictionary<string, object>());
            Assert.Equal(1, stub1.Count);
        }
Beispiel #21
0
        public void NonStringNonEnumerableResultsAreTreatedLikeSelect()
        {
            var stub1 = new StubEventHandler();
            var stub2 = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            var results = eventBus.Notify("ITestEventHandler.GetInt", new Dictionary<string, object>()).Cast<int>();
            Assert.Equal(2, results.Count());
            Assert.Contains(1, results);
            Assert.Contains(2, results);
        }
Beispiel #22
0
        public void StringResultsAreTreatedLikeSelect()
        {
            var stub1 = new StubEventHandler();
            var stub2 = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            var results = eventBus.Notify("ITestEventHandler.GetString", new Dictionary<string, object>()).Cast<string>();
            Assert.Equal(2, results.Count());
            Assert.Contains("Foo", results);
            Assert.Contains("Bar", results);
        }
Beispiel #23
0
        public void EventParametersAreCorrectlyPassedToBestMatchingMethodAndExtraParametersAreIgnored()
        {
            var stub1 = new StubEventHandler();
            var stub2 = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Equal(0, stub1.Result);
            Dictionary<string, object> arguments = new Dictionary<string, object>();
            arguments["a"] = 1000;
            arguments["b"] = 100;
            arguments["c"] = 10;
            arguments["e"] = 1;
            eventBus.Notify("ITestEventHandler.Sum", arguments);
            Assert.Equal(1110, stub1.Result);
        }
Beispiel #24
0
        public void EventParametersAreCorrectlyPassedToMatchingMethod()
        {
            var stub1 = new StubEventHandler();
            var stub2 = new StubEventHandler2();
            var eventBus = new DefaultOrchardEventBus(new IEventHandler[] { stub1, stub2 });

            Assert.Null(stub1.Summary);
            Dictionary<string, object> arguments = new Dictionary<string, object>();
            arguments["a"] = "a";
            arguments["b"] = "b";
            arguments["c"] = "c";
            eventBus.Notify("ITestEventHandler.Concat", arguments);
            Assert.Equal("abc", stub1.Summary);
        }