private void AssertNextDevelopmentCardIsCorrect(DevelopmentCardHolder developmentCardHolder, DevelopmentCardTypes expectedType) { DevelopmentCard developmentCard; developmentCardHolder.TryGetNextCard(out developmentCard).ShouldBeTrue(); developmentCard.Type.ShouldBe(expectedType); }
public void TryGetNextCard_OnConstruction_ReturnsTrue() { var developmentCardHolder = new DevelopmentCardHolder(); DevelopmentCard developmentCard; var result = developmentCardHolder.TryGetNextCard(out developmentCard); result.ShouldBeTrue(); developmentCard.ShouldNotBeNull(); }
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); }
public void Cstr_InDescendingOrder_ReturnsExpectedOrder() { var index = -1; var indexes = new System.Collections.Generic.Queue <Int32>(new[] { 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }); var numberSequencer = Substitute.For <DevelopmentCardHolder.IIndexSequence>(); numberSequencer .TryGetNextIndex(out index) .ReturnsForAnyArgs(x => { if (indexes.Count > 0) { x[0] = indexes.Dequeue(); return(true); } x[0] = -1; return(false); }); var developmentCardHolder = new DevelopmentCardHolder(numberSequencer); for (var i = 0; i < 5; i++) { this.AssertNextDevelopmentCardIsCorrect(developmentCardHolder, DevelopmentCardTypes.VictoryPoint); } for (var i = 0; i < 2; i++) { this.AssertNextDevelopmentCardIsCorrect(developmentCardHolder, DevelopmentCardTypes.YearOfPlenty); } for (var i = 0; i < 2; i++) { this.AssertNextDevelopmentCardIsCorrect(developmentCardHolder, DevelopmentCardTypes.RoadBuilding); } for (var i = 0; i < 2; i++) { this.AssertNextDevelopmentCardIsCorrect(developmentCardHolder, DevelopmentCardTypes.Monopoly); } for (var i = 0; i < 14; i++) { this.AssertNextDevelopmentCardIsCorrect(developmentCardHolder, DevelopmentCardTypes.Knight); } developmentCardHolder.HasCards.ShouldBeFalse(); }
public void HasCards_OnConstruction_ReturnsTrue() { var developmentCardHolder = new DevelopmentCardHolder(); developmentCardHolder.HasCards.ShouldBeTrue(); }