public void BuyDevelopmentCard_GotResources_DevelopmentCardPurchasedEventIsRaised() { // Arrange var knightDevelopmentCard = new KnightDevelopmentCard(); var testInstances = this.TestSetup(this.CreateMockOneCardDevelopmentCardHolder(knightDevelopmentCard)); testInstances.MainPlayer.AddResources(ResourceClutch.DevelopmentCard); var localGameController = testInstances.LocalGameController; GameToken turnToken = null; localGameController.StartPlayerTurnEvent = (GameToken t) => { turnToken = t; }; ErrorDetails errorDetails = null; localGameController.ErrorRaisedEvent = (ErrorDetails e) => { errorDetails = e; }; DevelopmentCard purchaseddDevelopmentCard = null; localGameController.DevelopmentCardPurchasedEvent = (DevelopmentCard d) => { purchaseddDevelopmentCard = d; }; localGameController.StartGamePlay(); // Act localGameController.BuyDevelopmentCard(turnToken); // Assert purchaseddDevelopmentCard.ShouldNotBeNull(); purchaseddDevelopmentCard.ShouldBeSameAs(knightDevelopmentCard); errorDetails.ShouldBeNull(); }
public void BuildCity_OnExistingSettlementBelongingToPlayer_CityBuiltEventRaised() { // Arrange MockDice mockDice = null; MockPlayer player; MockComputerPlayer firstOpponent, secondOpponent, thirdOpponent; var localGameController = this.CreateLocalGameControllerAndCompleteGameSetup(out mockDice, out player, out firstOpponent, out secondOpponent, out thirdOpponent); mockDice.AddSequence(new[] { 8u }); player.AddResources(ResourceClutch.City); Boolean cityBuilt = false; localGameController.CityBuiltEvent = c => { cityBuilt = true; }; GameToken turnToken = null; localGameController.StartPlayerTurnEvent = (GameToken t) => { turnToken = t; }; ErrorDetails errorDetails = null; localGameController.ErrorRaisedEvent = (ErrorDetails e) => { errorDetails = e; }; localGameController.StartGamePlay(); // Act localGameController.BuildCity(turnToken, MainSettlementOneLocation); // Assert cityBuilt.ShouldBeTrue(); errorDetails.ShouldBeNull(); }