diff --git a/Java/src/main/java/com/gildedrose/AgedBrieItemHandler.java b/Java/src/main/java/com/gildedrose/AgedBrieItemHandler.java index a0eb58f0..e9911329 100644 --- a/Java/src/main/java/com/gildedrose/AgedBrieItemHandler.java +++ b/Java/src/main/java/com/gildedrose/AgedBrieItemHandler.java @@ -1,6 +1,6 @@ package com.gildedrose; -public class AgedBrieItemHandler extends ItemHandler { +public class AgedBrieItemHandler implements ItemHandler { public AgedBrieItemHandler() {} diff --git a/Java/src/main/java/com/gildedrose/BackstagePassesItemHandler.java b/Java/src/main/java/com/gildedrose/BackstagePassesItemHandler.java index 337031ff..afb18cf1 100644 --- a/Java/src/main/java/com/gildedrose/BackstagePassesItemHandler.java +++ b/Java/src/main/java/com/gildedrose/BackstagePassesItemHandler.java @@ -1,6 +1,6 @@ package com.gildedrose; -public class BackstagePassesItemHandler extends ItemHandler { +public class BackstagePassesItemHandler implements ItemHandler { @Override public void handleDay(Item item) { diff --git a/Java/src/main/java/com/gildedrose/ConjuredItemHandler.java b/Java/src/main/java/com/gildedrose/ConjuredItemHandler.java index 46f81dff..3ebc682e 100644 --- a/Java/src/main/java/com/gildedrose/ConjuredItemHandler.java +++ b/Java/src/main/java/com/gildedrose/ConjuredItemHandler.java @@ -1,6 +1,7 @@ package com.gildedrose; -public class ConjuredItemHandler extends ItemHandler { +public class ConjuredItemHandler implements ItemHandler { + @Override public void handleDay(Item item) { item.quality -= 2; diff --git a/Java/src/main/java/com/gildedrose/GenericItemHandler.java b/Java/src/main/java/com/gildedrose/GenericItemHandler.java index beba8258..1a004f2e 100644 --- a/Java/src/main/java/com/gildedrose/GenericItemHandler.java +++ b/Java/src/main/java/com/gildedrose/GenericItemHandler.java @@ -1,6 +1,6 @@ package com.gildedrose; -public class GenericItemHandler extends ItemHandler { +public class GenericItemHandler implements ItemHandler { @Override public void handleDay(Item item) { diff --git a/Java/src/main/java/com/gildedrose/ItemHandler.java b/Java/src/main/java/com/gildedrose/ItemHandler.java index f5017e84..ca351567 100644 --- a/Java/src/main/java/com/gildedrose/ItemHandler.java +++ b/Java/src/main/java/com/gildedrose/ItemHandler.java @@ -1,7 +1,5 @@ package com.gildedrose; -public abstract class ItemHandler { - - public void handleDay(Item item) { - } +public interface ItemHandler { + void handleDay(Item item); } diff --git a/Java/src/main/java/com/gildedrose/ItemHandlerFactory.java b/Java/src/main/java/com/gildedrose/ItemHandlerFactory.java index 17e01410..2e645a84 100644 --- a/Java/src/main/java/com/gildedrose/ItemHandlerFactory.java +++ b/Java/src/main/java/com/gildedrose/ItemHandlerFactory.java @@ -4,7 +4,6 @@ import java.lang.reflect.InvocationTargetException; import java.util.Map; public class ItemHandlerFactory { - private static final Map> ITEM_HANDLER_MAP = Map.of( ItemType.AGED_BRIE, AgedBrieItemHandler.class, diff --git a/Java/src/main/java/com/gildedrose/ItemType.java b/Java/src/main/java/com/gildedrose/ItemType.java index d400a102..f46c5422 100644 --- a/Java/src/main/java/com/gildedrose/ItemType.java +++ b/Java/src/main/java/com/gildedrose/ItemType.java @@ -18,7 +18,9 @@ public enum ItemType { public static ItemType forDisplayName(String displayName) { return Arrays .stream(ItemType.values()) - .filter(itemType -> itemType.getDisplayName().equals(displayName)).findFirst().orElse(GENERIC); + .filter(itemType -> itemType.getDisplayName().equals(displayName)) + .findFirst() + .orElse(GENERIC); } public String getDisplayName() { diff --git a/Java/src/main/java/com/gildedrose/SulfurasItemHandler.java b/Java/src/main/java/com/gildedrose/SulfurasItemHandler.java index 935b6abc..bed4f514 100644 --- a/Java/src/main/java/com/gildedrose/SulfurasItemHandler.java +++ b/Java/src/main/java/com/gildedrose/SulfurasItemHandler.java @@ -1,3 +1,7 @@ package com.gildedrose; -public class SulfurasItemHandler extends ItemHandler {} +public class SulfurasItemHandler implements ItemHandler { + + @Override + public void handleDay(Item item) {} +} diff --git a/Java/src/test/java/com/gildedrose/GildedRoseTest.java b/Java/src/test/java/com/gildedrose/GildedRoseTest.java index 95bd18b4..89066384 100644 --- a/Java/src/test/java/com/gildedrose/GildedRoseTest.java +++ b/Java/src/test/java/com/gildedrose/GildedRoseTest.java @@ -1,15 +1,17 @@ package com.gildedrose; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.Test; + class GildedRoseTest { private static final int SULFURAS_QUALITY = 80; @Test public void agedBrieIncreasesInQualityByOneEachDay() { - Item[] items = new Item[]{new Item(ItemType.AGED_BRIE.getDisplayName(), 2, 0)}; + Item[] items = new Item[] { + new Item(ItemType.AGED_BRIE.getDisplayName(), 2, 0) + }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(1, app.items.get(0).quality); @@ -20,7 +22,7 @@ class GildedRoseTest { @Test public void sulfurasSellInDateNeverChanges() { int sellIn = 10; - Item[] items = new Item[]{ + Item[] items = new Item[] { new Item(ItemType.SULFURAS.getDisplayName(), sellIn, SULFURAS_QUALITY) }; GildedRose app = new GildedRose(items); @@ -32,7 +34,7 @@ class GildedRoseTest { @Test public void sulfurasValueNeverChanges() { - Item[] items = new Item[]{ + Item[] items = new Item[] { new Item(ItemType.SULFURAS.getDisplayName(), 10, SULFURAS_QUALITY) }; GildedRose app = new GildedRose(items); @@ -44,7 +46,7 @@ class GildedRoseTest { @Test public void sulfurasValueIsAlways80() { - Item[] items = new Item[]{ + Item[] items = new Item[] { new Item(ItemType.SULFURAS.getDisplayName(), 10, SULFURAS_QUALITY) }; GildedRose app = new GildedRose(items); @@ -55,7 +57,7 @@ class GildedRoseTest { @Test public void backstagePassesQualityIncreasesByTwoWhenThereAreTenDaysOrLessBeforeTheConcert() { int quality = 0; - Item[] items = new Item[]{ + Item[] items = new Item[] { new Item(ItemType.BACKSTAGE_PASSES.getDisplayName(), 10, quality) }; GildedRose app = new GildedRose(items); @@ -68,7 +70,7 @@ class GildedRoseTest { @Test public void backstagePassesQualityIncreasesByThreeWhenThereAreFiveDaysOrLessBeforeTheConcert() { int quality = 0; - Item[] items = new Item[]{ + Item[] items = new Item[] { new Item(ItemType.BACKSTAGE_PASSES.getDisplayName(), 5, quality) }; GildedRose app = new GildedRose(items); @@ -83,7 +85,7 @@ class GildedRoseTest { @Test public void backstagePassesQualityDropsToZeroAfterTheConcert() { int quality = 10; - Item[] items = new Item[]{ + Item[] items = new Item[] { new Item(ItemType.BACKSTAGE_PASSES.getDisplayName(), 1, quality) }; GildedRose app = new GildedRose(items); @@ -97,7 +99,7 @@ class GildedRoseTest { public void qualityIsNeverNegativeForGenericItems() { // todo: should add a similar case for conjured int quality = 1; - Item[] items = new Item[]{new Item("generic item", 5, quality)}; + Item[] items = new Item[] { new Item("generic item", 5, quality) }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(0, app.items.get(0).quality); @@ -109,7 +111,9 @@ class GildedRoseTest { @Test public void qualityIsNeverOverFiftyForAgedBrie() { - Item[] items = new Item[]{new Item(ItemType.AGED_BRIE.getDisplayName(), 5, 50)}; + Item[] items = new Item[] { + new Item(ItemType.AGED_BRIE.getDisplayName(), 5, 50) + }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(50, app.items.get(0).quality); @@ -121,7 +125,9 @@ class GildedRoseTest { @Test public void qualityIsNeverOverFiftyForBackstagePasses() { - Item[] items = new Item[]{new Item(ItemType.BACKSTAGE_PASSES.getDisplayName(), 5, 50)}; + Item[] items = new Item[] { + new Item(ItemType.BACKSTAGE_PASSES.getDisplayName(), 5, 50) + }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(50, app.items.get(0).quality); @@ -133,7 +139,7 @@ class GildedRoseTest { @Test public void qualityDecreasesByOneEachDayForGenericItems() { - Item[] items = new Item[]{new Item("generic item", 5, 5)}; + Item[] items = new Item[] { new Item("generic item", 5, 5) }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(4, app.items.get(0).quality); @@ -145,7 +151,7 @@ class GildedRoseTest { @Test public void qualityDecreasesByTwoEachDayForGenericItemsAfterSellInDate() { - Item[] items = new Item[]{new Item("generic item", 1, 6)}; + Item[] items = new Item[] { new Item("generic item", 1, 6) }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(5, app.items.get(0).quality); @@ -157,7 +163,9 @@ class GildedRoseTest { @Test public void sellInDateDecreasesByOneEachDayForAgedBrie() { - Item[] items = new Item[]{new Item(ItemType.AGED_BRIE.getDisplayName(), 5, 1)}; + Item[] items = new Item[] { + new Item(ItemType.AGED_BRIE.getDisplayName(), 5, 1) + }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(4, app.items.get(0).sellIn); @@ -169,7 +177,9 @@ class GildedRoseTest { @Test public void sellInDateDecreasesByOneEachDayForBackstagePasses() { - Item[] items = new Item[]{new Item(ItemType.BACKSTAGE_PASSES.getDisplayName(), 5, 1)}; + Item[] items = new Item[] { + new Item(ItemType.BACKSTAGE_PASSES.getDisplayName(), 5, 1) + }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(4, app.items.get(0).sellIn); @@ -181,7 +191,7 @@ class GildedRoseTest { @Test public void sellInDateDecreasesByOneEachDayForGenericItems() { - Item[] items = new Item[]{new Item("generic item", 5, 1)}; + Item[] items = new Item[] { new Item("generic item", 5, 1) }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(4, app.items.get(0).sellIn); @@ -193,7 +203,7 @@ class GildedRoseTest { @Test public void sellInDateCanBeNegativeForGenericItems() { - Item[] items = new Item[]{new Item("generic item", 1, 1)}; + Item[] items = new Item[] { new Item("generic item", 1, 1) }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(0, app.items.get(0).sellIn); @@ -205,7 +215,9 @@ class GildedRoseTest { @Test public void sellInDateCanBeNegativeForAgedBrie() { - Item[] items = new Item[]{new Item(ItemType.AGED_BRIE.getDisplayName(), 1, 1)}; + Item[] items = new Item[] { + new Item(ItemType.AGED_BRIE.getDisplayName(), 1, 1) + }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(0, app.items.get(0).sellIn); @@ -217,7 +229,9 @@ class GildedRoseTest { @Test public void sellInDateCanBeNegativeForBackStagePasses() { - Item[] items = new Item[]{new Item(ItemType.BACKSTAGE_PASSES.getDisplayName(), 1, 1)}; + Item[] items = new Item[] { + new Item(ItemType.BACKSTAGE_PASSES.getDisplayName(), 1, 1) + }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(0, app.items.get(0).sellIn); @@ -229,7 +243,7 @@ class GildedRoseTest { @Test public void itUpdatesAllItemsPassedIn() { - Item[] items = new Item[]{ + Item[] items = new Item[] { new Item("generic item 1", 5, 5), new Item("generic item 2", 5, 10) }; @@ -247,7 +261,7 @@ class GildedRoseTest { @Test public void conjuredItemsDecreaseByTwoEachDayBeforeSellInDate() { - Item[] items = new Item[]{new Item("Conjured Mana Cake", 10, 10)}; + Item[] items = new Item[] { new Item("Conjured Mana Cake", 10, 10) }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(8, app.items.get(0).quality); @@ -259,7 +273,7 @@ class GildedRoseTest { @Test public void sellInDateDecreasesByOneEachDayForConjuredItem() { - Item[] items = new Item[]{new Item("Conjured Mana Cake", 2, 10)}; + Item[] items = new Item[] { new Item("Conjured Mana Cake", 2, 10) }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(1, app.items.get(0).sellIn); @@ -271,7 +285,7 @@ class GildedRoseTest { @Test public void conjuredItemsQualityDecreasesByFourEachDayAfterSellInDate() { - Item[] items = new Item[]{new Item("Conjured Mana Cake", 1, 10)}; + Item[] items = new Item[] { new Item("Conjured Mana Cake", 1, 10) }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(8, app.items.get(0).quality);