示例#1
0
        public void SetupLooksGood()
        {
            var container = new SimpleFactory.Container();

            container.Register <MyHandler>().Singleton();

            container.Register <MyGenericEventHandler>();

            IMessageAdapter adapter;

            adapter = new FakeAdapter(new List <object> {
                new SomethingHasHappend()
            });

            var Server = new MessageHandlerEngine(adapter,
                                                  null,
                                                  null
                                                  );

            Server.AttachMessageHandler <SomethingHasHappend, MyHandler>();
            Server.AttachGenericMessageHandler <MyGenericEventHandler>("#");


            adapter.StartAdapter();

            //System.Threading.Thread.Sleep(10000);

            adapter.StopAdapter();

            Assert.IsNotNull(container.CreateInstance <MyHandler>().input);
            Assert.AreEqual(1, container.CreateInstance <MyHandler>().Counter);
        }
        public void ShouldLoadAdapterAndInvokeMethod()
        {
            var adapter = new FakeAdapter();
            var request = CreateRequestContext("bugs", "GET");
            _handler = new BiteRequestHandler(request, _adapterFactory.Object, _methodInvokerFactory.Object);

            _adapterFactory.Setup(f => f.CreateAdapter("bugs"))
               .Returns(adapter).Verifiable();

            _methodInvokerFactory.Setup(mi => mi.InvokeAdapterMethod(request, adapter))
               .Returns(GenericMethodInvocation).Verifiable();

            _handler.ProcessRequest(request.HttpContext);

            _adapterFactory.Verify();
            _methodInvokerFactory.Verify();
        }