From a15a40fddb085456bf1db46f792713c73a08a8f0 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Sat, 2 May 2026 15:42:34 +0200 Subject: [PATCH 1/3] Fix: Hunter.java Now Correctly Adds 1 Food For Each Hunter Card In The Deck (If The Given Card Has An Icon). --- .../ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.java index 5254216..5fd0d9a 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.java @@ -98,6 +98,9 @@ public class Hunter extends Character { @Override public void insert(Player player) { player.hunters.add(this); + if(this.getIcon()){ + player.addFood(player.hunters.size()); + } } } From 1a7100a35afd3508823ecb836e81cccf37c6f889 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Sat, 2 May 2026 15:52:09 +0200 Subject: [PATCH 2/3] Fix: Fixed "toString" & "insert" Methods In HunterTest.java. --- .../TribeCards/Characters/HunterTest.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/HunterTest.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/HunterTest.java index 7917289..9da7e97 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/HunterTest.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/HunterTest.java @@ -21,8 +21,10 @@ class HunterTest { String s = h.toString(); assertNotNull(s); - assertTrue(s.contains(CharacterType.HUNTER.toString())); - assertTrue(s.contains("Icon: true")); + assertTrue(s.contains(" I")); + + Hunter h2 = new Hunter(3, false); + assertTrue(!h2.toString().contains("I")); } @Test @@ -55,6 +57,20 @@ class HunterTest { assertEquals(2, p.hunters.size()); assertTrue(p.hunters.contains(h2)); + + Player p2 = new Player("test2"); + Hunter h3 = new Hunter(1, true); + + assertEquals(0, p2.getFoodValue()); + h.insert(p2); + + assertEquals(1, p2.getFoodValue()); + h2.insert(p2); + + assertEquals(1, p2.getFoodValue()); + h3.insert(p2); + + assertEquals(4, p2.getFoodValue()); } @Test From 28d371b87fcf6a081c564a264b6208077032390d Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Sat, 2 May 2026 16:07:43 +0200 Subject: [PATCH 3/3] Fix: Fixed "toString" Method In Building11Test.java. --- .../Building/Effects/Building11Test.java | 37 ++++++++++++------- 1 file changed, 24 insertions(+), 13 deletions(-) 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 620233a..a3d907a 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 @@ -96,7 +96,7 @@ class Building11Test { p3.addFood(b3.getPrice()); assertTrue(b3.buy(p3)); p4.addFood(b3.getPrice()); - assertEquals(false, b3.buy(p4)); + assertFalse(b3.buy(p4)); } @@ -112,22 +112,33 @@ class Building11Test { @Test @DisplayName("toString") void testToString(){ - Building11 b11 = new Building11(1,2,3, CharacterType.INVENTOR, 1); - assertEquals("Era:1 Price:2 Prestige:3 Icon: INVENTOR", b11.toString()); + int era = 1; + int price = 1; + int prestigeValue = 3; + CharacterType ct = CharacterType.ARTIST; + int pm = 5; - b11 = new Building11(1,2,3, CharacterType.BUILDER, 1); - assertEquals("Era:1 Price:2 Prestige:3 Icon: BUILDER", b11.toString()); + Building11 b11 = new Building11(era, price, prestigeValue, ct, pm); + assertEquals("⎕: " + "ID:11" + " $:" + price + " PV:" + prestigeValue + " Icon: " + ct.toString().charAt(0) + " MP: " + pm, b11.toString()); - b11 = new Building11(1,2,3, CharacterType.GATHERER, 1); - assertEquals("Era:1 Price:2 Prestige:3 Icon: GATHERER", b11.toString()); + ct = CharacterType.BUILDER; + b11 = new Building11(era, price, prestigeValue, ct, pm); + assertEquals("⎕: " + "ID:11" + " $:" + price + " PV:" + prestigeValue + " Icon: " + ct.toString().charAt(0) + " MP: " + pm, b11.toString()); - b11 = new Building11(1,2,3, CharacterType.ARTIST, 1); - assertEquals("Era:1 Price:2 Prestige:3 Icon: ARTIST", b11.toString()); + ct = CharacterType.GATHERER; + b11 = new Building11(era, price, prestigeValue, ct, pm); + assertEquals("⎕: " + "ID:11" + " $:" + price + " PV:" + prestigeValue + " Icon: " + ct.toString().charAt(0) + " MP: " + pm, b11.toString()); - b11 = new Building11(1,2,3, CharacterType.SHAMAN, 1); - assertEquals("Era:1 Price:2 Prestige:3 Icon: SHAMAN", b11.toString()); + ct = CharacterType.HUNTER; + b11 = new Building11(era, price, prestigeValue, ct, pm); + assertEquals("⎕: " + "ID:11" + " $:" + price + " PV:" + prestigeValue + " Icon: " + ct.toString().charAt(0) + " MP: " + pm, b11.toString()); - b11 = new Building11(1,2,3, CharacterType.HUNTER, 1); - assertEquals("Era:1 Price:2 Prestige:3 Icon: HUNTER", b11.toString()); + ct = CharacterType.INVENTOR; + b11 = new Building11(era, price, prestigeValue, ct, pm); + assertEquals("⎕: " + "ID:11" + " $:" + price + " PV:" + prestigeValue + " Icon: " + ct.toString().charAt(0) + " MP: " + pm, b11.toString()); + + ct = CharacterType.SHAMAN; + b11 = new Building11(era, price, prestigeValue, ct, pm); + assertEquals("⎕: " + "ID:11" + " $:" + price + " PV:" + prestigeValue + " Icon: " + ct.toString().charAt(0) + " MP: " + pm, b11.toString()); } } \ No newline at end of file