Ejemplo n.º 1
0
 public LocalGameControllerCreator()
 {
     this.playerPool            = new PlayerFactory();
     this.dice                  = new Dice();
     this.gameBoard             = new GameBoard(BoardSizes.Standard);
     this.developmentCardHolder = new DevelopmentCardHolder();
 }
Ejemplo n.º 2
0
        private TestInstances TestSetup(IDevelopmentCardHolder developmentCardHolder)
        {
            var testInstances = LocalGameControllerTestCreator.CreateTestInstances(developmentCardHolder);

            LocalGameControllerTestSetup.LaunchGameAndCompleteSetup(testInstances.LocalGameController);
            testInstances.Dice.AddSequence(new[] { 8u });

            return(testInstances);
        }
Ejemplo n.º 3
0
 public ScenarioGameManager(
     INumberGenerator numberGenerator,
     GameBoard gameBoard,
     IDevelopmentCardHolder developmentCardHolder,
     IPlayerFactory playerFactory,
     IEventSender eventSender,
     GameOptions gameOptions)
     : base(numberGenerator, gameBoard, developmentCardHolder, playerFactory, eventSender, gameOptions)
 {
 }
Ejemplo n.º 4
0
        private LocalGameControllerTestCreator.TestInstances TestSetup(IDevelopmentCardHolder developmentCardHolder, GameBoard gameBoard)
        {
            var testInstances = LocalGameControllerTestCreator.CreateTestInstances(null, null, developmentCardHolder, gameBoard);

            testInstances.Dice.AddSequence(new[] { 8u });

            LocalGameControllerTestSetup.LaunchGameAndCompleteSetup(testInstances.LocalGameController);

            this.LoadPlayersByIdForCustomAsserts(testInstances.MainPlayer,
                                                 testInstances.FirstOpponent,
                                                 testInstances.SecondOpponent,
                                                 testInstances.ThirdOpponent);

            return(testInstances);
        }
Ejemplo n.º 5
0
 public LocalGameControllerCreator ChangeDevelopmentCardHolder(IDevelopmentCardHolder developmentCardHolder)
 {
     this.developmentCardHolder = developmentCardHolder;
     return(this);
 }
        private LocalGameControllerTestCreator.TestInstances TestSetupWithExplicitDevelopmentCardHolder(IDevelopmentCardHolder developmentCardHolder)
        {
            var testInstances = LocalGameControllerTestCreator.CreateTestInstances(developmentCardHolder);

            LocalGameControllerTestSetup.LaunchGameAndCompleteSetup(testInstances.LocalGameController);
            testInstances.Dice.AddSequence(new[] { 8u }); // First turn roll i.e. no robber triggered
            return(testInstances);
        }
Ejemplo n.º 7
0
        public static TestInstances CreateTestInstances(MockDice mockNumGenerator, PlayerSetup playerSetup, IDevelopmentCardHolder developmentCardHolder, GameBoard gameBoard)
        {
            MockDice mockNumberGenerator = null;

            if (mockNumGenerator != null)
            {
                mockNumberGenerator = mockNumGenerator;
            }
            else
            {
                mockNumberGenerator = LocalGameControllerTestCreator.CreateMockNumberGenerator();
            }

            MockPlayer         player;
            MockComputerPlayer firstOpponent, secondOpponent, thirdOpponent;
            IPlayerFactory     playerPool = null;

            if (playerSetup != null)
            {
                player         = playerSetup.Player;
                firstOpponent  = playerSetup.FirstOpponent;
                secondOpponent = playerSetup.SecondOpponent;
                thirdOpponent  = playerSetup.ThirdOpponent;
                playerPool     = playerSetup.PlayerPool;
            }
            else
            {
                LocalGameControllerTestCreator.CreateDefaultPlayerInstances(out player, out firstOpponent, out secondOpponent, out thirdOpponent);
                playerPool = LocalGameControllerTestCreator.CreateMockPlayerPool(player, firstOpponent, secondOpponent, thirdOpponent);
            }

            if (developmentCardHolder == null)
            {
                developmentCardHolder = new DevelopmentCardHolder();
            }

            if (gameBoard == null)
            {
                gameBoard = new GameBoard(BoardSizes.Standard);
            }

            var localGameController = new LocalGameController(mockNumberGenerator, playerPool, gameBoard, developmentCardHolder);

            localGameController.ErrorRaisedEvent = (ErrorDetails e) => { throw new Exception(e.Message); };

            var testInstances = new TestInstances(localGameController, player, firstOpponent, secondOpponent, thirdOpponent, mockNumberGenerator);

            return(testInstances);
        }
Ejemplo n.º 8
0
 public static TestInstances CreateTestInstances(IDevelopmentCardHolder developmentCardHolder)
 {
     return(LocalGameControllerTestCreator.CreateTestInstances(null, null, developmentCardHolder, null));
 }
Ejemplo n.º 9
0
        protected LocalGameController CreateLocalGameController(INumberGenerator dice, IPlayerFactory playerPool, IDevelopmentCardHolder developmentCardHolder)
        {
            var localGameControllerCreator = new LocalGameControllerCreator();

            if (dice != null)
            {
                localGameControllerCreator.ChangeDice(dice);
            }

            if (playerPool != null)
            {
                localGameControllerCreator.ChangePlayerPool(playerPool);
            }

            if (developmentCardHolder != null)
            {
                localGameControllerCreator.ChangeDevelopmentCardHolder(developmentCardHolder);
            }

            var localGameController = localGameControllerCreator.Create();

            localGameController.ErrorRaisedEvent = (ErrorDetails e) => { throw new Exception(e.Message); };

            return(localGameController);
        }