diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index 8eedfa63..224c5e7a 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -13,7 +13,7 @@ class GildedRose { && !item.name.equals("Backstage passes to a TAFKAL80ETC concert")) { if (item.quality > 0) { if (!item.name.equals("Sulfuras, Hand of Ragnaros")) { - item.quality = item.quality - 1; + updateQualityForNormalItem(item); } } } else { @@ -21,13 +21,7 @@ class GildedRose { item.quality = item.quality + 1; if (item.name.equals("Backstage passes to a TAFKAL80ETC concert")) { - if (item.sellIn < 11) { - addQualityWhenWithInLimit(item); - } - - if (item.sellIn < 6) { - addQualityWhenWithInLimit(item); - } + updateQualityForBackstagePasses(item); } } } @@ -40,6 +34,20 @@ class GildedRose { } } + private void updateQualityForBackstagePasses(Item item) { + if (item.sellIn < 11) { + addQualityWhenWithInLimit(item); + } + + if (item.sellIn < 6) { + addQualityWhenWithInLimit(item); + } + } + + private void updateQualityForNormalItem(Item item) { + item.quality--; + } + private void addQualityWhenWithInLimit(Item item) { if (item.quality < 50) { item.quality = item.quality + 1; diff --git a/Java/src/test/java/com/gildedrose/GildedRoseTest.java b/Java/src/test/java/com/gildedrose/GildedRoseTest.java index f2d884d0..a747df87 100644 --- a/Java/src/test/java/com/gildedrose/GildedRoseTest.java +++ b/Java/src/test/java/com/gildedrose/GildedRoseTest.java @@ -41,7 +41,11 @@ class GildedRoseTest { Arguments.of(new Item[] { new Item("Backstage passes to a TAFKAL80ETC concert", 12, 10) }, 11), Arguments.of(new Item[] { new Item("Backstage passes to a TAFKAL80ETC concert", 12, 50) }, 50), - Arguments.of(new Item[] { new Item("Backstage passes to a TAFKAL80ETC concert", -1, 10) }, 0) + Arguments.of(new Item[] { new Item("Backstage passes to a TAFKAL80ETC concert", -1, 10) }, 0), + + Arguments.of(new Item[] { new Item("Coffee Day", 1, 1) }, 0), + Arguments.of(new Item[] { new Item("Coffee Day", -1, 1) }, 0), + Arguments.of(new Item[] { new Item("Coffee Day", -1, 2) }, 0) ); }