Exemple #1
0
        public void Chain_WhenLastLinkCallsHandle_DoesNotThrow()
        {
            var chain = new Chain <ChainParam>()
                        .Use <FirstChainLink>()
                        .Use <SecondChainLink>()
                        .Compile();
            var p = new ChainParam();

            chain.Handle(p);
        }
Exemple #2
0
        public void Chain_RunsThroughTheChain()
        {
            var chain = new Chain <ChainParam>()
                        .Use <SecondChainLink>()
                        .After <SecondChainLink, FourthChainLink>()
                        .Prepend <FirstChainLink>()
                        .Before <FourthChainLink, ThirdChainLink>()
                        .Use <DoesNotContinueChainLink>()
                        .Replace <DoesNotContinueChainLink, FifthChainLink>()
                        .Use <DoesNotContinueChainLink>()
                        .Use <SixthChainLink>()
                        .Compile();
            var p = new ChainParam();

            Assert.Equal(p.Values, new List <int>());
            chain.Handle(p);
            Assert.Equal(p.Values, new List <int> {
                1, 2, 3, 4, 5
            });
        }