예제 #1
0
        public override void Load()
        {
            Bind<IGameDisplay>().To<ConsoleGameDisplay>();
            Bind<IMoveStrategy>().To<RandomMoveStrategy>();
            Bind<IBoard>().To<Board>();

            Bind<PlayGameHandler>().ToMethod(x =>
            {
                var playGameWelcomeHandler = new PlayGameWelcomeHandler();
                var playGameMoveHandler = new PlayGameMoveHandler(new RandomMoveStrategy(), 1000);
                playGameWelcomeHandler.SetSuccessor(playGameMoveHandler);
                playGameMoveHandler.SetSuccessor(new PlayGameResultHandler());
                return playGameWelcomeHandler;
            });
        }
        public void Setup()
        {
            _display = new Mock<IGameDisplay>();
            _fiveTurnBoard = new Mock<IBoard>();
            _moveStrategy = new Mock<IMoveStrategy>();

            _fiveTurnBoard.SetupSequence<IBoard, bool>(x => x.IsInPlay()).Returns(true)
                                                      .Returns(true)
                                                      .Returns(true)
                                                      .Returns(true)
                                                      .Returns(false);

            _successor = new Mock<PlayGameHandler>();
            _playGameMoveHandler = new PlayGameMoveHandler(_moveStrategy.Object, 1);
            _playGameMoveHandler.SetSuccessor(_successor.Object);
        }