From c88b537c1fdb2489330e81cc179d3abc85ed5e43 Mon Sep 17 00:00:00 2001 From: MatteoPellegrino05 Date: Thu, 19 Mar 2026 19:35:12 +0100 Subject: [PATCH] Add: ShamanicRitualTest --- .../TribeCards/Events/ShamanicRitualTest.java | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 src/test/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitualTest.java diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitualTest.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitualTest.java new file mode 100644 index 0000000..9e02376 --- /dev/null +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitualTest.java @@ -0,0 +1,77 @@ +package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events; + +import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType; +import it.polimi.ingsw.gc14.Model.Cards.BuildingCard; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Shaman; +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.*; + +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.Arrays; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class ShamanicRitualTest { + + @Test + void uniqueWinnerGetsPrestige() { + Player p1 = new Player("Marco"); + Player p2 = new Player("Luca"); + + ArrayList players = new ArrayList<>(Arrays.asList(p1, p2)); + + new Shaman(1, 3).insert(p1); + new Shaman(1, 1).insert(p2); + + ShamanicRitual ritual = new ShamanicRitual(1, 10, 5); + ritual.activateEvent(players); + + assertEquals(10, p1.getPrestigeValue()); + assertEquals(-5, p2.getPrestigeValue()); + } + + @Test + void tiedPlayersNoDoublePrestige() { + Player p1 = new Player("Marco"); + Player p2 = new Player("Luca"); + + ArrayList players = new ArrayList<>(Arrays.asList(p1, p2)); + + new Shaman(1, 3).insert(p1); + new Shaman(1, 3).insert(p2); + + ShamanicRitual ritual = new ShamanicRitual(1, 10, 5); + ritual.activateEvent(players); + + assertEquals(10, p1.getPrestigeValue()); + assertEquals(10, p2.getPrestigeValue()); + } + + @Test + void uniqueWinnerWithDoublePrestige() { + Player p1 = new Player("Marco"); + Player p2 = new Player("Luca"); + + ArrayList players = new ArrayList<>(Arrays.asList(p1, p2)); + + new Shaman(1, 3).insert(p1); + new Shaman(1, 1).insert(p2); + + BuildingCard b = new BuildingCard(5, EffectType.ON_EVENT, 1, 6); + p1.addFood(5); + b.buy(p1); + + ShamanicRitual ritual = new ShamanicRitual(1, 10, 5); + ritual.activateEvent(players); + + assertEquals(20, p1.getPrestigeValue()); + assertEquals(-5, p2.getPrestigeValue()); + } +} \ No newline at end of file