From 6a34354bb5c6e4b4e9ed3ffc43fbce9b53fcc092 Mon Sep 17 00:00:00 2001 From: AleandroPagani Date: Sat, 21 Mar 2026 16:19:50 +0100 Subject: [PATCH] Fix: all building tests, Added: BuildingCardTest, Modified: ShamanicRitualTest, PlayableCardTest --- .../ingsw/gc14/Model/Cards/BuildingCard.java | 7 +++- .../Cards/Building/Effects/Building0Test.java | 8 ++--- .../Building/Effects/Building10Test.java | 6 ++-- .../Building/Effects/Building11Test.java | 8 ++--- .../Building/Effects/Building13Test.java | 18 +++++----- .../Cards/Building/Effects/Building1Test.java | 13 +++++++ .../Cards/Building/Effects/Building4Test.java | 8 ++--- .../Cards/Building/Effects/Building8Test.java | 2 +- .../gc14/Model/Cards/BuildingCardTest.java | 34 +++++++++++++++++++ .../TribeCards/Events/ShamanicRitualTest.java | 2 +- .../ingsw/gc14/Model/PlayableCardTest.java | 12 +++---- 11 files changed, 85 insertions(+), 33 deletions(-) create mode 100644 src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1Test.java create mode 100644 src/test/java/it/polimi/ingsw/gc14/Model/Cards/BuildingCardTest.java diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/BuildingCard.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/BuildingCard.java index 47efc19..d161610 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/BuildingCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/BuildingCard.java @@ -33,7 +33,12 @@ public class BuildingCard extends PlayableCard implements Cloneable , BuildingEf } else { throw new IllegalArgumentException(); } - this.prestigeValue = prestigeValue; + if (prestigeValue >= 0) { + this.prestigeValue = prestigeValue; + } else { + throw new IllegalArgumentException(); + } + bought = false; } public BuildingCard(int effectId,EffectType effectType ,int era,int price,int prestigeValue) throws IllegalArgumentException{ diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0Test.java index e74d389..8dbf284 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0Test.java @@ -14,7 +14,7 @@ class Building0Test { void applyEffect() { int Era = 1; // Corretta creazione / esecuzione building card - Building0 b0 = new Building0(1, 1); + Building0 b0 = new Building0(1, 1, 1); Player p = new Player("test"); p.addFood(b0.getPrice()); b0.buy(p); @@ -59,7 +59,7 @@ class Building0Test { assertEquals(0, p.getFoodValue()); // Corretta creazione / esecuzione building card - Building0 b0 = new Building0(1, 1); + Building0 b0 = new Building0(1, 1, 1); p.addFood(b0.getPrice()); b0.buy(p); assertEquals(1, b0.numSet); @@ -71,7 +71,7 @@ class Building0Test { @DisplayName("Exception Test") void applyEffect3() { assertThrows(IllegalArgumentException.class, () -> { - Building0 b0 = new Building0(1, 1); + Building0 b0 = new Building0(1, 1, 1); Player p = new Player("test"); b0.applyEffect(p); }); @@ -80,7 +80,7 @@ class Building0Test { @Test @DisplayName("Buying Of Same Card By Two Different Players") void applyEffect4() { - Building0 b0 = new Building0(1, 1); + Building0 b0 = new Building0(1, 1, 1); Player p1 = new Player("test1"); Player p2 = new Player("test2"); p1.addFood(b0.getPrice()); diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10Test.java index 13e589a..dcaf79f 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10Test.java @@ -12,7 +12,7 @@ class Building10Test { @Test void applyEffect() { - Building10 b10 = new Building10(1, 1); + Building10 b10 = new Building10(1, 1, 1); Player p = new Player("test"); p.addFood(b10.getPrice()); b10.buy(p); @@ -50,7 +50,7 @@ class Building10Test { @Test void applyEffectException() { assertThrows(IllegalArgumentException.class, () -> { - Building10 b10 = new Building10(1, 1); + Building10 b10 = new Building10(1, 1, 1); Player p = new Player("test"); b10.applyEffect(p); }); @@ -58,7 +58,7 @@ class Building10Test { @Test void applyEffectMultiplePlayerException() { - Building10 b10 = new Building10(1, 1); + Building10 b10 = new Building10(1, 1, 1); Player p1 = new Player("test1"); Player p2 = new Player("test2"); b10.buy(p1); diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11Test.java index e4ec056..d984c2f 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11Test.java @@ -15,7 +15,7 @@ class Building11Test { void applyEffectBuyWithoutFood() { Player p1 = new Player("Xiaomi"); - Building11 b1 = new Building11(2, 10, ARTIST, -3); + Building11 b1 = new Building11(2, 10, 1, ARTIST, -3); Artist a1 = new Artist(2); b1.buy(p1); assertFalse(b1.buy(p1)); @@ -33,7 +33,7 @@ class Building11Test { @Test void applyEffectWithTwoCards() { Player p2 = new Player("Giacomo"); - Building11 b2 = new Building11(2, 10, ARTIST, 4); + Building11 b2 = new Building11(2, 10, 1, ARTIST, 4); Artist a2 = new Artist(2); Artist a3 = new Artist(2); p2.addFood(b2.getPrice()); @@ -50,7 +50,7 @@ class Building11Test { void applyEffectTwoPlayersBuyTheSameCard() { Player p3 = new Player("AAAAAAAAAA"); Player p4 = new Player("BBBBBBBBBB"); - Building11 b3 = new Building11(1, 15, HUNTER, 5); + Building11 b3 = new Building11(1, 15, 1, HUNTER, 5); p3.addFood(b3.getPrice()); assertTrue(b3.buy(p3)); p4.addFood(b3.getPrice()); @@ -61,7 +61,7 @@ class Building11Test { @Test void applyEffectApplyEffectWithoutBuyingFirst() { Player p5 = new Player("DRTFGBHJN"); - Building11 b4 = new Building11(3, 10, ARTIST, 4); + Building11 b4 = new Building11(3, 10, 1, ARTIST, 4); assertThrows(IllegalArgumentException.class, () -> { b4.applyEffect(p5); }); diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13Test.java index ad3b1b2..74747b9 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13Test.java @@ -11,26 +11,26 @@ class Building13Test { @Test void Building13() { assertThrows(IllegalArgumentException.class, () -> { - Building13 b2 = new Building13(0, 15); + Building13 b2 = new Building13(0, 15, 1); }); assertThrows(IllegalArgumentException.class, () -> { - Building13 b3 = new Building13(-1, 15); + Building13 b3 = new Building13(-1, 15, 1); }); assertThrows(IllegalArgumentException.class, () -> { - Building13 b4 = new Building13(4, 15); + Building13 b4 = new Building13(4, 15, 1); }); assertThrows(IllegalArgumentException.class, () -> { - Building13 b5 = new Building13(2, 0); + Building13 b5 = new Building13(2, 0, 1); }); assertThrows(IllegalArgumentException.class, () -> { - Building13 b6 = new Building13(1, -15); + Building13 b6 = new Building13(1, -15, 1); }); - Building13 b1 = new Building13(1, 10); + Building13 b1 = new Building13(1, 10, 1); assertEquals(1, b1.getEra()); @@ -40,7 +40,7 @@ class Building13Test { void applyEffect() { Player p1 = new Player("gigi"); p1.addPrestige(10); - Building13 b1 = new Building13(1, 10); + Building13 b1 = new Building13(1, 10, 1); p1.addFood(b1.getPrice()); b1.buy(p1); @@ -51,14 +51,14 @@ class Building13Test { @Test void applyEffectException() { assertThrows(IllegalArgumentException.class, () -> { - Building13 b13 = new Building13(1, 10); + Building13 b13 = new Building13(1, 10, 1); Player p = new Player("test"); b13.applyEffect(p); }); } @Test void applyEffectMultiplePlayerException() { - Building13 b13 = new Building13(1, 10); + Building13 b13 = new Building13(1, 10, 1); Player p1 = new Player("test1"); Player p2 = new Player("test2"); b13.buy(p1); diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1Test.java new file mode 100644 index 0000000..ca52ba5 --- /dev/null +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1Test.java @@ -0,0 +1,13 @@ +package it.polimi.ingsw.gc14.Model.Cards.Building.Effects; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class Building1Test { + + @Test + void getIcon() { + // NO TEST NEEDED + } +} \ No newline at end of file diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4Test.java index 577e361..4630f59 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4Test.java @@ -11,7 +11,7 @@ class Building4Test { @Test void buy() { Player p = new Player("test"); - Building4 b4 = new Building4(1,1); + Building4 b4 = new Building4(1, 1,1); assertFalse(b4.buy(p)); @@ -27,7 +27,7 @@ class Building4Test { void applyEffect() { Player p = new Player("test"); p.addFood(1); - Building4 b4 = new Building4(1,1); + Building4 b4 = new Building4(1,1, 1); b4.buy(p); b4.applyEffect(p); @@ -50,7 +50,7 @@ class Building4Test { new Inventor(1,1).insert(p2); new Inventor(1,1).insert(p2); p2.addFood(1); - Building4 b4b = new Building4(1,1); + Building4 b4b = new Building4(1,1, 1); b4b.buy(p2); b4b.applyEffect(p2); assertEquals(0, p2.getFoodValue()); @@ -60,7 +60,7 @@ class Building4Test { @Test void applyEffectException() { Player p = new Player("test"); - Building4 b4 = new Building4(1,1); + Building4 b4 = new Building4(1,1, 1); assertThrows(IllegalArgumentException.class, () -> b4.applyEffect(p)); } diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8Test.java index cf73767..2effada 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8Test.java @@ -10,7 +10,7 @@ class Building8Test { @Test void applyEffect() { - Building8 b8 = new Building8(1, 1); + Building8 b8 = new Building8(1, 1, 1); Player p = new Player("test"); p.addFood(b8.getPrice()); b8.buy(p); diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/BuildingCardTest.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/BuildingCardTest.java new file mode 100644 index 0000000..b447ce9 --- /dev/null +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/BuildingCardTest.java @@ -0,0 +1,34 @@ +package it.polimi.ingsw.gc14.Model.Cards; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class BuildingCardTest { + @Test + void checkOnParameters() { // ERA CHECKED IN PlayableCardTest + assertDoesNotThrow(() -> { + new BuildingCard(1, 1,1); + }); + + assertDoesNotThrow(() -> { + new BuildingCard(1, 2,1); + }); + assertThrows(IllegalArgumentException.class, () -> { + new BuildingCard(1, 0,1); + }); + assertThrows(IllegalArgumentException.class, () -> { + new BuildingCard(1, -1,1); + }); + + assertDoesNotThrow(() -> { + new BuildingCard(1, 1,2); + }); + assertDoesNotThrow(() -> { + new BuildingCard(1, 1,0); + }); + assertThrows(IllegalArgumentException.class, () -> { + new BuildingCard(1, 1,-1); + }); + } +} \ No newline at end of file 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 index cb1c3e9..515b6fd 100644 --- 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 @@ -64,7 +64,7 @@ class ShamanicRitualTest { new Shaman(1, 3).insert(p1); new Shaman(1, 1).insert(p2); - BuildingCard b = new BuildingCard(6, EffectType.ON_EVENT, 1, 5); + BuildingCard b = new BuildingCard(6, EffectType.ON_EVENT, 1, 5, 1); p1.addFood(5); b.buy(p1); diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/PlayableCardTest.java b/src/test/java/it/polimi/ingsw/gc14/Model/PlayableCardTest.java index 4c84fdc..3e8f750 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/PlayableCardTest.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/PlayableCardTest.java @@ -11,23 +11,23 @@ class PlayableCardTest { @Test void PlayableCardWrongEraException() { assertDoesNotThrow(() -> { - new BuildingCard(1, 5); + new BuildingCard(1, 5, 1); }); assertDoesNotThrow(() -> { - new BuildingCard(2, 5); + new BuildingCard(2, 5, 1); }); assertDoesNotThrow(() -> { - new BuildingCard(3, 5); + new BuildingCard(3, 5, 1); }); assertThrows(IllegalArgumentException.class, () -> { - new BuildingCard(0, 5); + new BuildingCard(0, 5, 1); }); assertThrows(IllegalArgumentException.class, () -> { - new BuildingCard(4, 5); + new BuildingCard(4, 5, 1); }); assertThrows(IllegalArgumentException.class, () -> { - new BuildingCard(-1, 5); + new BuildingCard(-1, 5, 1); }); }