From a05cf33643dffdfbd624186dc98ab7aee4327c87 Mon Sep 17 00:00:00 2001 From: Stefanel Stan Date: Sun, 20 Nov 2022 13:14:13 +0000 Subject: [PATCH] refactoring: Issues #2326 and #2325 (#2327) * Fix comment typo #2325 * Minor enchancements to flyweight #2326 * Minor enchancements to flyweight #2326 --- .../java/com/iluwatar/featuretoggle/user/UserGroup.java | 4 ++-- .../main/java/com/iluwatar/flyweight/PotionFactory.java | 8 +++----- .../java/com/iluwatar/flyweight/AlchemistShopTest.java | 5 ++--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/feature-toggle/src/main/java/com/iluwatar/featuretoggle/user/UserGroup.java b/feature-toggle/src/main/java/com/iluwatar/featuretoggle/user/UserGroup.java index 91b75f548..d01c5735d 100644 --- a/feature-toggle/src/main/java/com/iluwatar/featuretoggle/user/UserGroup.java +++ b/feature-toggle/src/main/java/com/iluwatar/featuretoggle/user/UserGroup.java @@ -48,7 +48,7 @@ public class UserGroup { */ public static void addUserToFreeGroup(final User user) throws IllegalArgumentException { if (paidGroup.contains(user)) { - throw new IllegalArgumentException("User all ready member of paid group."); + throw new IllegalArgumentException("User already member of paid group."); } else { if (!freeGroup.contains(user)) { freeGroup.add(user); @@ -65,7 +65,7 @@ public class UserGroup { */ public static void addUserToPaidGroup(final User user) throws IllegalArgumentException { if (freeGroup.contains(user)) { - throw new IllegalArgumentException("User all ready member of free group."); + throw new IllegalArgumentException("User already member of free group."); } else { if (!paidGroup.contains(user)) { paidGroup.add(user); diff --git a/flyweight/src/main/java/com/iluwatar/flyweight/PotionFactory.java b/flyweight/src/main/java/com/iluwatar/flyweight/PotionFactory.java index a05d99798..814131732 100644 --- a/flyweight/src/main/java/com/iluwatar/flyweight/PotionFactory.java +++ b/flyweight/src/main/java/com/iluwatar/flyweight/PotionFactory.java @@ -46,27 +46,25 @@ public class PotionFactory { switch (type) { case HEALING: potion = new HealingPotion(); - potions.put(type, potion); break; case HOLY_WATER: potion = new HolyWaterPotion(); - potions.put(type, potion); break; case INVISIBILITY: potion = new InvisibilityPotion(); - potions.put(type, potion); break; case POISON: potion = new PoisonPotion(); - potions.put(type, potion); break; case STRENGTH: potion = new StrengthPotion(); - potions.put(type, potion); break; default: break; } + if (potion != null) { + potions.put(type, potion); + } } return potion; } diff --git a/flyweight/src/test/java/com/iluwatar/flyweight/AlchemistShopTest.java b/flyweight/src/test/java/com/iluwatar/flyweight/AlchemistShopTest.java index 044855438..79a70611e 100644 --- a/flyweight/src/test/java/com/iluwatar/flyweight/AlchemistShopTest.java +++ b/flyweight/src/test/java/com/iluwatar/flyweight/AlchemistShopTest.java @@ -28,6 +28,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import java.util.ArrayList; +import java.util.HashSet; import org.junit.jupiter.api.Test; /** @@ -55,8 +56,6 @@ class AlchemistShopTest { // There are 13 potion instances, but only 5 unique instance types assertEquals(13, allPotions.size()); - assertEquals(5, allPotions.stream().map(System::identityHashCode).distinct().count()); - + assertEquals(5, new HashSet<>(allPotions).size()); } - }