diff --git a/Java/src/main/java/com/gildedrose/AgedBrie.java b/Java/src/main/java/com/gildedrose/AgedBrie.java index 53f58ae2..a70f5380 100644 --- a/Java/src/main/java/com/gildedrose/AgedBrie.java +++ b/Java/src/main/java/com/gildedrose/AgedBrie.java @@ -5,17 +5,18 @@ import static com.gildedrose.rule.ValidationRule.isExpired; public class AgedBrie implements Goods { private static final int MAX_ALLOWED_QUALITY = 50; + + private static final int QUALITY_TO_ADD = 1; @Override public void updateQuality(Item item) { - Goods.super.addQualityWhenWithInLimit(item, MAX_ALLOWED_QUALITY); - + Goods.super.addQualityWhenWithInLimit(item, MAX_ALLOWED_QUALITY, QUALITY_TO_ADD); } @Override public void updateQualityForExpiredItem(Item item) { if (isExpired(item)) { - Goods.super.addQualityWhenWithInLimit(item, MAX_ALLOWED_QUALITY); + Goods.super.addQualityWhenWithInLimit(item, MAX_ALLOWED_QUALITY, QUALITY_TO_ADD); } } diff --git a/Java/src/main/java/com/gildedrose/BackStagePasses.java b/Java/src/main/java/com/gildedrose/BackStagePasses.java index 8430c54a..a1e338ff 100644 --- a/Java/src/main/java/com/gildedrose/BackStagePasses.java +++ b/Java/src/main/java/com/gildedrose/BackStagePasses.java @@ -8,19 +8,20 @@ public class BackStagePasses implements Goods { private static final int SELL_IN_MAX_THRESHOLD_DAY = 11; private static final int SELL_IN_MIN_THRESHOLD_DAY = 6; private static final int ZERO = 0; + private static final int DEFAULT_QUALITY_TO_ADD = 1; @Override public void updateQuality(Item item) { - Goods.super.addQualityWhenWithInLimit(item, MAX_ALLOWED_QUALITY); + int qualityToAdd = DEFAULT_QUALITY_TO_ADD; if (isWithInLimit(SELL_IN_MAX_THRESHOLD_DAY, item.sellIn)) { - Goods.super.addQualityWhenWithInLimit(item, MAX_ALLOWED_QUALITY); + qualityToAdd++; } if (isWithInLimit(SELL_IN_MIN_THRESHOLD_DAY, item.sellIn)) { - Goods.super.addQualityWhenWithInLimit(item, MAX_ALLOWED_QUALITY); + qualityToAdd++; } + Goods.super.addQualityWhenWithInLimit(item, MAX_ALLOWED_QUALITY, qualityToAdd); } - @Override public void updateQualityForExpiredItem(Item item) { diff --git a/Java/src/main/java/com/gildedrose/Goods.java b/Java/src/main/java/com/gildedrose/Goods.java index 4e77fc56..63b391f2 100644 --- a/Java/src/main/java/com/gildedrose/Goods.java +++ b/Java/src/main/java/com/gildedrose/Goods.java @@ -12,9 +12,9 @@ public interface Goods { public void updateQualityForExpiredItem(Item item); - default void addQualityWhenWithInLimit(Item item, int limit) { + default void addQualityWhenWithInLimit(Item item, int limit, int qualityToAdd) { if (isWithInLimit(limit, item.quality)) { - item.quality++; + item.quality = Math.min(limit, item.quality + qualityToAdd); } } }