public IEnumerator FreshersFluCard_ActivatePunishment_RemovesBonuses() { //Tests that FreshersFluCard removes the bonuses from the players who do not own the card played. Setup(); yield return(null); Player testPlayer = players [0]; Card testCard = new FreshersFluCard(testPlayer); //Give the players bonuses; players [0].SetBeer(2); players [0].SetKnowledge(1); players [1].SetBeer(3); players [1].SetKnowledge(1); players [2].SetBeer(3); players [2].SetKnowledge(2); players [3].SetBeer(4); testCard.activatePunishment(); //activate the punishment Assert.AreEqual(2, testPlayer.GetBeer()); Assert.AreEqual(1, testPlayer.GetKnowledge()); for (int i = 1; i < 4; i++) { Assert.Zero(players [i].GetBeer()); Assert.Zero(players [i].GetKnowledge()); } }
public IEnumerator FreshersFluCard_DeactivatePunishment_RecalculatesBonusesIfLandmarkCaptured() { //Tests that FreshersFluCard correctly recalculates the bonuses, which can be caused by players capturing landmarks //while the card is active. Setup(); game.InitializeMap(); yield return(null); Player testPlayer = players [0]; Card testCard = new FreshersFluCard(testPlayer); Player player2 = players [1]; int player2InitialKnowledgeBonus = player2.GetKnowledge(); //Create a new landmark sector that will be captured by player2 once the FreshersFluCard is played. Landmark newLandmark = new GameObject("TestLandmark").AddComponent <Landmark> (); newLandmark.SetResourceType(Landmark.ResourceType.Knowledge); player2.ownedSectors [0].GetAdjacentSectors() [0].SetLandmark(newLandmark); testCard.activatePunishment(); player2.Capture(player2.ownedSectors [0].GetAdjacentSectors() [0]); //Capture the new landmark. testCard.deactivatePunishment(); Assert.AreEqual(player2InitialKnowledgeBonus + 2, player2.GetKnowledge()); }
public IEnumerator FreshersFluCard_DeactivatePunishment_ReturnsBonuses() { //Tests that FreshersFluCard correctly restores the bonuses. Setup(); game.InitializeMap(); yield return(null); Player testPlayer = players [0]; Card testCard = new FreshersFluCard(testPlayer); List <int> bonuses = new List <int> (); for (int i = 1; i < 4; i++) { bonuses.Add(players [i].GetBeer()); bonuses.Add(players [i].GetKnowledge()); } testCard.activatePunishment(); //activate the punishment testCard.deactivatePunishment(); //deactivate the punishment //Test that the bonuses have been returned to normal for all "enemy" players. for (int i = 1; i < 4; i++) { Assert.AreEqual(bonuses [0], players [i].GetBeer()); bonuses.Remove(bonuses [0]); Assert.AreEqual(bonuses [0], players [i].GetKnowledge()); bonuses.Remove(bonuses [0]); } }
public IEnumerator FreshersFluCard_ActivatePunishment_StoresPvcBonuses() { //Test that activate punishment correctly stores the amount of extra bonus gained from the PVC. Setup(); game.InitializeMap(); yield return(null); Player testPlayer = players [0]; FreshersFluCard testCard = new FreshersFluCard(testPlayer); Player player2 = players [1]; player2.SetKnowledge(player2.GetKnowledge() + 4); //Give player2 an extra 4 knowledge points. testCard.activatePunishment(); Dictionary <Player, int[]> pvcBonuses = testCard.GetPvcBonuses(); Assert.AreEqual(0, pvcBonuses [player2] [0]); Assert.AreEqual(4, pvcBonuses [player2] [1]); }