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_More_than_others_values() { var maxUp = new ReadOnlyCollection <SideOfTrackEnum>(new List <SideOfTrackEnum>() { SideOfTrackEnum.DownSide, SideOfTrackEnum.DownSide, SideOfTrackEnum.UpSide }); var mockSuccesor = new Mock <DecideSideChain>(); _sut.SetSuccessor(mockSuccesor.Object); _sut.Decide(maxUp); mockSuccesor.Verify(mock => mock.Decide(maxUp), Times.Once()); }