diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index c1510ec5..cc9ff68d 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -8,57 +8,62 @@ class GildedRose { } public void updateQuality() { - for (int i = 0; i < items.length; i++) { - if (items[i].name.equals("Aged Brie") || items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { - if (items[i].quality < 50) { - items[i].quality = items[i].quality + 1; + for (Item item : items) { + updateItem(item); + } + } - if (items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { - if (items[i].sellIn < 11) { - if (items[i].quality < 50) { - items[i].quality = items[i].quality + 1; - } - } + private void updateItem(Item item) { + if (item.name.equals("Aged Brie") + || item.name.equals("Backstage passes to a TAFKAL80ETC concert")) { + if (item.quality < 50) { + item.quality = item.quality + 1; - if (items[i].sellIn < 6) { - if (items[i].quality < 50) { - items[i].quality = items[i].quality + 1; - } - } - } - } - } else { - if (items[i].quality > 0) { - if (items[i].name.equals("Sulfuras, Hand of Ragnaros")) { - } else { - items[i].quality = items[i].quality - 1; - } - } - } + if (item.name.equals("Backstage passes to a TAFKAL80ETC concert")) { + if (item.sellIn < 11) { + if (item.quality < 50) { + item.quality = item.quality + 1; + } + } - if (items[i].name.equals("Sulfuras, Hand of Ragnaros")) { - } else { - items[i].sellIn = items[i].sellIn - 1; - } + if (item.sellIn < 6) { + if (item.quality < 50) { + item.quality = item.quality + 1; + } + } + } + } + } else { + if (item.quality > 0) { + if (item.name.equals("Sulfuras, Hand of Ragnaros")) { + } else { + item.quality = item.quality - 1; + } + } + } - if (items[i].sellIn < 0) { - if (items[i].name.equals("Aged Brie")) { - if (items[i].quality < 50) { - items[i].quality = items[i].quality + 1; - } - } else { - if (items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { - items[i].quality = items[i].quality - items[i].quality; - } else { - if (items[i].quality > 0) { - if (items[i].name.equals("Sulfuras, Hand of Ragnaros")) { - continue; - } - items[i].quality = items[i].quality - 1; - } - } - } - } - } - } + if (item.name.equals("Sulfuras, Hand of Ragnaros")) { + } else { + item.sellIn = item.sellIn - 1; + } + + if (item.sellIn < 0) { + if (item.name.equals("Aged Brie")) { + if (item.quality < 50) { + item.quality = item.quality + 1; + } + } else { + if (item.name.equals("Backstage passes to a TAFKAL80ETC concert")) { + item.quality = item.quality - item.quality; + } else { + if (item.quality > 0) { + if (item.name.equals("Sulfuras, Hand of Ragnaros")) { + return; + } + 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 dcffcfac..6f2c0e9c 100644 --- a/Java/src/test/java/com/gildedrose/GildedRoseTest.java +++ b/Java/src/test/java/com/gildedrose/GildedRoseTest.java @@ -11,7 +11,7 @@ class GildedRoseTest { Item[] items = new Item[] { new Item("foo", 0, 0) }; GildedRose app = new GildedRose(items); app.updateQuality(); - assertEquals("fixme", app.items[0].name); + assertEquals("foo", app.items[0].name); } // copy-paste from https://gist.github.com/adelatorrefoss/ebc658b3e0054913dced80c8fe384de0