Hunt test added
This commit is contained in:
@@ -17,7 +17,6 @@ public class Hunt extends EventCard {
|
||||
this.prestigeMoltiplicator = prestigeMoltiplicator;
|
||||
}
|
||||
|
||||
// TODO
|
||||
@Override
|
||||
public void activateEvent (ArrayList <Player> playerList){
|
||||
for (Player player : playerList) {
|
||||
|
||||
+48
-1
@@ -6,13 +6,60 @@ import it.polimi.ingsw.gc14.Model.Player;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class ShamanicRitual extends EventCard {
|
||||
public ShamanicRitual(int Era) {
|
||||
int prestigeToAdd;
|
||||
int getPrestigeToRemove;
|
||||
public ShamanicRitual(int Era, int prestigeToAdd, int getPrestigeToRemove) {
|
||||
super(Era, EventType.SHAMANIC_RITUAL);
|
||||
this.prestigeToAdd = prestigeToAdd;
|
||||
this.getPrestigeToRemove = getPrestigeToRemove;
|
||||
|
||||
}
|
||||
|
||||
// TODO
|
||||
@Override
|
||||
public void activateEvent (ArrayList <Player> playerList){
|
||||
int maxPrestige = playerList.get(0).getPrestigeValue();
|
||||
int minPrestige = playerList.get(0).getPrestigeValue();
|
||||
ArrayList <Player> maxPrestigePlayer = new ArrayList<>();
|
||||
ArrayList <Player> minPrestigePlayer = new ArrayList<>();
|
||||
|
||||
for (Player player : playerList) {
|
||||
if (player.getPrestigeValue() > maxPrestige) {
|
||||
maxPrestige = player.getPrestigeValue();
|
||||
}
|
||||
if (player.getPrestigeValue() < minPrestige) {
|
||||
minPrestige = player.getPrestigeValue();
|
||||
}
|
||||
}
|
||||
|
||||
for (Player player : playerList) {
|
||||
int count = (int) player.getBuildingCards().stream().filter(b -> b.getEffectId() == 1).count();
|
||||
player.addPrestige(3 * count);
|
||||
|
||||
if (player.getPrestigeValue() == maxPrestige) {
|
||||
maxPrestigePlayer.add(player);
|
||||
}
|
||||
if (player.getPrestigeValue() == minPrestige) {
|
||||
minPrestigePlayer.add(player);
|
||||
}
|
||||
|
||||
player.removePrestige(3 * count);
|
||||
}
|
||||
|
||||
for (Player player : maxPrestigePlayer) {
|
||||
player.addPrestige(prestigeToAdd);
|
||||
if (player.getBuildingCards().stream().anyMatch(b -> b.getEffectId() == 6)) {
|
||||
player.addPrestige(prestigeToAdd);
|
||||
}
|
||||
}
|
||||
for (Player player : minPrestigePlayer) {
|
||||
if (!(player.getBuildingCards().stream().anyMatch(b -> b.getEffectId() == 2))){
|
||||
player.removePrestige(getPrestigeToRemove);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events;
|
||||
|
||||
import it.polimi.ingsw.gc14.Model.Player;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class HuntEventTest {
|
||||
|
||||
@Test
|
||||
void activateEvent() {
|
||||
Player p1 = new Player("Giacomo");
|
||||
Player p2 = new Player("xiaomi");
|
||||
Player p3 = new Player("intellij");
|
||||
Player p4 = new Player("mesos");
|
||||
|
||||
|
||||
ArrayList<Player> players = new ArrayList<>(Arrays.asList(p1,p2,p3,p4));
|
||||
Hunt h1 = new Hunt(1, 1, 3);
|
||||
h1.activateEvent(players);
|
||||
|
||||
assertEquals(0, p1.getPrestigeValue());
|
||||
assertEquals(1, p1.getFoodValue());
|
||||
assertEquals(0, p2.getPrestigeValue());
|
||||
assertEquals(1, p2.getFoodValue());
|
||||
assertEquals(0, p3.getPrestigeValue());
|
||||
assertEquals(1, p3.getFoodValue());
|
||||
assertEquals(0, p4.getPrestigeValue());
|
||||
assertEquals(1, p4.getFoodValue());
|
||||
|
||||
Hunt h2 = new Hunt(1, -11, 0);
|
||||
h2.activateEvent(players);
|
||||
assertEquals(0, p1.getPrestigeValue());
|
||||
assertEquals(-10, p1.getFoodValue());
|
||||
assertEquals(0, p2.getPrestigeValue());
|
||||
assertEquals(-10, p2.getFoodValue());
|
||||
assertEquals(0, p3.getPrestigeValue());
|
||||
assertEquals(-10, p3.getFoodValue());
|
||||
assertEquals(0, p4.getPrestigeValue());
|
||||
assertEquals(-10, p4.getFoodValue());
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user