Example #1
0
        public DecideSideChain Create()
        {
            var decideMaxCountUpSideChain   = new DecideMaxCountUpSideChain();
            var decideMaxCountDownSideChain = new DecideMaxCountDownSideChain();
            var decideSameCountSideChain    = new DecideSameCountSideChain();

            decideMaxCountUpSideChain.SetSuccessor(decideMaxCountDownSideChain);
            decideMaxCountDownSideChain.SetSuccessor(decideSameCountSideChain);
            return(decideMaxCountUpSideChain);
        }
        private void Call_Next_If_There_are_others_values()
        {
            var maxDown = new ReadOnlyCollection <SideOfTrackEnum>(new List <SideOfTrackEnum>()
            {
                SideOfTrackEnum.DownSide,
                SideOfTrackEnum.UpSide,
                SideOfTrackEnum.UpSide
            });
            var mockSuccesor = new Mock <DecideSideChain>();

            _sut.SetSuccessor(mockSuccesor.Object);
            _sut.Decide(maxDown);
            mockSuccesor.Verify(mock => mock.Decide(maxDown), Times.Once());
        }