diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index 2d9fac85..6ed8cd11 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -9,45 +9,7 @@ class GildedRose { public void updateQuality() { for (Item item : items) { - boolean isAgedBrie = item.getName().equals("Aged Brie"); - boolean isSulfuras = item.getName().equals("Sulfuras, Hand of Ragnaros"); - boolean passesToTafkalConcert = item.getName().equals("Backstage passes to a TAFKAL80ETC concert"); - - if (!isAgedBrie && !passesToTafkalConcert) { - if (item.quality > 0 && !isSulfuras) { - item.deductOneFromQuality(); - } - } else if(item.quality < 50) { - item.addOneToQuality(); - - if (passesToTafkalConcert) { - if (item.sellIn < 11 && item.quality < 50) { - item.addOneToQuality(); - } - - if (item.sellIn < 6 && item.quality < 50) { - item.addOneToQuality(); - } - } - } - - if (!isSulfuras) { - item.deductSellIn(); - } - - if (item.sellIn < 0) { - if (!isAgedBrie) { - if (!passesToTafkalConcert) { - if (item.quality > 0 && !isSulfuras) { - item.deductOneFromQuality(); - } - } else { - item.setQualityToZero(); - } - } else if ((item.quality < 50)) { - item.addOneToQuality(); - } - } + item.updateItem(); } } } diff --git a/Java/src/main/java/com/gildedrose/Item.java b/Java/src/main/java/com/gildedrose/Item.java index 85c5d284..52426aac 100644 --- a/Java/src/main/java/com/gildedrose/Item.java +++ b/Java/src/main/java/com/gildedrose/Item.java @@ -18,19 +18,60 @@ public class Item { return name; } - public void setQualityToZero() { + public void updateItem() { + boolean isAgedBrie = name.equals("Aged Brie"); + boolean isSulfuras = name.equals("Sulfuras, Hand of Ragnaros"); + boolean isBackStagePass = name.equals("Backstage passes to a TAFKAL80ETC concert"); + + if (!isAgedBrie && !isBackStagePass) { + if (quality > 0 && !isSulfuras) { + deductOneFromQuality(); + } + } else if(quality < 50) { + addOneToQuality(); + if (isBackStagePass) { + if (sellIn < 11 && quality < 50) { + addOneToQuality(); + } + + if (sellIn < 6 && quality < 50) { + addOneToQuality(); + } + } + } + + if (!isSulfuras) { + deductSellIn(); + } + + if (sellIn < 0) { + if (!isAgedBrie) { + if (!isBackStagePass) { + if (quality > 0 && !isSulfuras) { + deductOneFromQuality(); + } + } else { + setQualityToZero(); + } + } else if ((quality < 50)) { + addOneToQuality(); + } + } + } + + private void setQualityToZero() { quality = 0; } - public void deductSellIn() { + private void deductSellIn() { sellIn--; } - public void addOneToQuality() { + private void addOneToQuality() { quality++; } - public void deductOneFromQuality() { + private void deductOneFromQuality() { quality--; }