Ejemplo n.º 1
0
    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());
        }
    }
Ejemplo n.º 2
0
    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());
    }
Ejemplo n.º 3
0
    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]);
        }
    }
Ejemplo n.º 4
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]);
    }