From a273600de706591086194503fa95938e1482f268 Mon Sep 17 00:00:00 2001 From: brianblessou Date: Sun, 12 May 2019 15:29:17 +0200 Subject: [PATCH] correct bug: condition on sellIn for Backstage should be lower than 10 and 05 instead of 11 or 06 --- .../main/java/com/gildedrose/GildedRose.java | 38 +++++++++++++------ 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index baec07d1..8291199a 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -19,6 +19,20 @@ class GildedRose { } } + private void updateNumberOfdayToSellRemaining(Item item) { + item.sellIn -= 1; + } + + private boolean itemHasExpired(Item item) { + boolean condition; + if (item.sellIn < 0) { + condition=true; + } else { + condition=false; + } + return condition; + } + public void updateQuality() { String SULFURA = "Sulfuras, Hand of Ragnaros"; String AGED_BRIE = "Aged Brie"; @@ -30,24 +44,26 @@ class GildedRose { continue; } - if (item.name.equals(AGED_BRIE) || item.name.equals(BACKSTAGE)) { + updateNumberOfdayToSellRemaining(item); + + if (item.name.equals(AGED_BRIE)) { increaseQuality(item); - if (item.name.equals(BACKSTAGE)) { - if (item.sellIn < 11) { - increaseQuality(item); - } - if (item.sellIn < 6) { - increaseQuality(item); - } + } else if (item.name.equals(BACKSTAGE)) { + increaseQuality(item); + + if (item.sellIn < 10) { + increaseQuality(item); } + if (item.sellIn < 5) { + increaseQuality(item); + } + } else { decreaseQuality(item); } - item.sellIn = item.sellIn - 1; - - if (item.sellIn < 0) { + if (itemHasExpired(item)) { if (item.name.equals(AGED_BRIE)) { increaseQuality(item); } else if (item.name.equals(BACKSTAGE)) {