diff --git a/Java/src/main/java/com/gildedrose/item/AgedBrie.java b/Java/src/main/java/com/gildedrose/item/AgedBrie.java index 3f736fa8..8f3cb9b7 100644 --- a/Java/src/main/java/com/gildedrose/item/AgedBrie.java +++ b/Java/src/main/java/com/gildedrose/item/AgedBrie.java @@ -9,7 +9,15 @@ public class AgedBrie implements CustomisedItem { } public void updateState() { + decreaseSellByDayValueByOne(); + increaseQualityByOne(); + } + + private void decreaseSellByDayValueByOne() { item.sellIn -= 1; + } + + private void increaseQualityByOne() { item.quality += 1; } } diff --git a/Java/src/main/java/com/gildedrose/item/BackstagePassesItem.java b/Java/src/main/java/com/gildedrose/item/BackstagePassesItem.java index 62def8f0..1308f41e 100644 --- a/Java/src/main/java/com/gildedrose/item/BackstagePassesItem.java +++ b/Java/src/main/java/com/gildedrose/item/BackstagePassesItem.java @@ -9,15 +9,31 @@ public class BackstagePassesItem implements CustomisedItem { } public void updateState() { - item.sellIn -= 1; - if (item.sellIn >= 11) { - item.quality += 1; - } else if (item.sellIn > 5) { - item.quality += 2; - } else if (item.sellIn > 0) { - item.quality += 3; + decreaseSellByDayValueByOne(); + if (sellByDayValueIsOver(10)) { + increaseQualityBy(1); + } else if (sellByDayValueIsOver(5)) { + increaseQualityBy(2); + } else if (sellByDayValueIsOver(0)) { + increaseQualityBy(3); } else { - item.quality = 0; + dropQualityToZero(); } } + + private void decreaseSellByDayValueByOne() { + item.sellIn -= 1; + } + + private boolean sellByDayValueIsOver(int dayNumber) { + return item.sellIn > dayNumber; + } + + private void increaseQualityBy(int qualityValue) { + item.quality += qualityValue; + } + + private void dropQualityToZero() { + item.quality = 0; + } } diff --git a/Java/src/main/java/com/gildedrose/item/ConjuredItem.java b/Java/src/main/java/com/gildedrose/item/ConjuredItem.java index 648c81f9..32c59238 100644 --- a/Java/src/main/java/com/gildedrose/item/ConjuredItem.java +++ b/Java/src/main/java/com/gildedrose/item/ConjuredItem.java @@ -9,12 +9,23 @@ public class ConjuredItem implements CustomisedItem { } public void updateState() { - item.sellIn -= 1; - if (item.sellIn > 0) { - item.quality -= 2; + decreaseSellByDayValueByOne(); + if (sellByDayValueIsOverZero()) { + decreaseQualityBy(2); } else { - item.quality -= 4; + decreaseQualityBy(4); } } + private void decreaseSellByDayValueByOne() { + item.sellIn -= 1; + } + + private boolean sellByDayValueIsOverZero() { + return item.sellIn > 0; + } + + private void decreaseQualityBy(int qualityValue) { + item.quality -= qualityValue; + } } diff --git a/Java/src/main/java/com/gildedrose/item/StandardItem.java b/Java/src/main/java/com/gildedrose/item/StandardItem.java index f9f006b6..41bf342f 100644 --- a/Java/src/main/java/com/gildedrose/item/StandardItem.java +++ b/Java/src/main/java/com/gildedrose/item/StandardItem.java @@ -9,13 +9,23 @@ public class StandardItem implements CustomisedItem { } public void updateState() { - item.sellIn -= 1; - if (item.sellIn > 0) { - item.quality -= 1; + decreaseSellByDayValueByOne(); + if (sellByDayValueIsOverZero()) { + decreaseQualityBy(1); } else { - item.quality -= 2; + decreaseQualityBy(2); } } + private void decreaseSellByDayValueByOne() { + item.sellIn -= 1; + } + private boolean sellByDayValueIsOverZero() { + return item.sellIn > 0; + } + + private void decreaseQualityBy(int qualityValue) { + item.quality -= qualityValue; + } }