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()); }