Esempio n. 1
0
        public void Processing_DescendingOrderWithoutResolvingKey_ReturnsOneNoProcessingAndOneProcessing()
        {
            var container = new WindsorContainer();

            container.Register(Component.For<ICorHandler<IData>>().ImplementedBy<CorHandlerTwo>().Named("two"));
            container.Register(
                Component.For<ICorHandler<IData>>().ImplementedBy<CorHandlerOne>().Named("one").Parameters(
                    Parameter.ForKey("nextLink").Eq("${two}")));

            var corHandler = container.Resolve<ICorHandler<IData>>();

            IData data = new DemoDataOne();
            corHandler.Process(data);

            Console.WriteLine("***");

            data = new DemoDataTwo();
            corHandler.Process(data);

            /*
            End from chain of responsibility reached.
            Type info='EsriDE.Trials.ChainOfResponsibility.CorHandler`1[T]'
            ***
            This is for 'CorHandlerTwo'
            */
        }
Esempio n. 2
0
        public void Processing_AscendingOrderWithoutResolvingKey_ReturnsTwoProcessings()
        {
            var container = new WindsorContainer();

            container.Register(
                Component.For<ICorHandler<IData>>().ImplementedBy<CorHandlerOne>().Named("one").Parameters(
                    Parameter.ForKey("nextLink").Eq("${two}")));
            container.Register(Component.For<ICorHandler<IData>>().ImplementedBy<CorHandlerTwo>().Named("two"));

            var corHandler = container.Resolve<ICorHandler<IData>>();

            IData data = new DemoDataOne();
            corHandler.Process(data);

            Console.WriteLine("***");

            data = new DemoDataTwo();
            corHandler.Process(data);

            /*
            This is for 'CorHandlerOne'
            ***
            This is for 'CorHandlerTwo'
            */
        }