public GamePointsManager() { pointsCategory = new TreasuryContentsCategory(); var military = new MilitaryConflictsCategory(); var wonder = new WonderCategory(); var civilian = new CivilianStructuresCategory(); var scientific = new ScientificStructuresCategory(); var commercial = new CommercialStructuresCategory(); var guilds = new GuildsCategory(); pointsCategory.SetSuccessor(military); military.SetSuccessor(wonder); wonder.SetSuccessor(civilian); civilian.SetSuccessor(scientific); scientific.SetSuccessor(commercial); commercial.SetSuccessor(guilds); }
public void ComputeTest() { var player1 = (ITurnPlayer)players[0]; var player2 = (ITurnPlayer)players[1]; var player3 = (ITurnPlayer)players[2]; player1.Wonder.BuildStage(); player1.Wonder.BuildStage(); player2.Wonder.BuildStage(); player3.Wonder.BuildStage(); player3.Wonder.BuildStage(); player1.ConflictTokens.Add(ConflictToken.Defeat); player1.ConflictTokens.Add(ConflictToken.Defeat); player1.ConflictTokens.Add(ConflictToken.AgeThreeVictory); player3.ConflictTokens.Add(ConflictToken.Defeat); player3.ConflictTokens.Add(ConflictToken.Defeat); player3.ConflictTokens.Add(ConflictToken.Defeat); player3.ConflictTokens.Add(ConflictToken.AgeOneVictory); player1.Cards.Add(cards.First(c => c.Name == CardName.SpiesGuild)); player1.Cards.Add(cards.First(c => c.Name == CardName.CraftsmenGuild)); player2.Cards.Add(cards.First(c => c.Name == CardName.StrategistsGuild)); player2.Cards.Add(cards.First(c => c.Name == CardName.BuildersGuild)); player2.Cards.Add(cards.First(c => c.Name == CardName.SiegeWorkshop)); player2.Cards.Add(cards.First(c => c.Name == CardName.Fortification)); player3.Cards.Add(cards.First(c => c.Name == CardName.ShipownersGuild)); player3.Cards.Add(cards.First(c => c.Name == CardName.Fortification)); player3.Cards.Add(cards.First(c => c.Name == CardName.LumberYard)); player3.Cards.Add(cards.First(c => c.Name == CardName.Brickyard)); player3.Cards.Add(cards.First(c => c.Name == CardName.Loom)); var pointsCategory = new GuildsCategory(); pointsCategory.ComputePoints(players); Assert.AreEqual(5, player1.VictoryPoints); Assert.AreEqual(10, player2.VictoryPoints); Assert.AreEqual(4, player3.VictoryPoints); }