예제 #1
0
        public void PlayerSetterShouldCreateHumanPlayer()
        {
            //Arrange
            string stringInput = "fakeValue";

            Configuration.Setup(x => x.Message.firstVar_15_).Returns(stringInput);
            Configuration.Setup(x => x.Message.secondVar_16_).Returns(It.IsAny <string>());
            Configuration.Setup(x => x.Constant.numberOfCards_1_).Returns(It.IsAny <int>());
            StrategyFactory.Setup(x => x.CreateHumanStrategy()).Returns(new HumanStrategy(Configuration.Object, ConsoleReadMock.Object));
            PlayerFactory.Setup(x => x.CreatePlayer(StrategyFactory.Object.CreateHumanStrategy())).Returns(new Player(Configuration.Object, StrategyFactory.Object.CreateHumanStrategy()));
            InputProvider.Setup(x => x.ReturnUserNameInputValue()).Returns(stringInput);
            StrategyFactory.Setup(x => x.CreateStrategyA()).Returns(value: new StrategyA(Configuration.Object, ConsoleReadMock.Object));
            PlayerFactory.Setup(x => x.CreatePlayer(StrategyFactory.Object.CreateStrategyA())).Returns(new Player(Configuration.Object, StrategyFactory.Object.CreateStrategyA()));

            //Act
            var gameSetter = new GameSetter(Configuration.Object, InputProvider.Object,
                                            PlayerFactory.Object, StrategyFactory.Object);

            gameSetter.CreatePlayersFor36CardGame();
            //Assert
            Assert.IsNotNull(gameSetter.Players[0]);
            Assert.IsNotNull(gameSetter.Players[1]);
        }