diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index 7f39af3c..6d48b0d8 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -35,7 +35,7 @@ class GildedRose { val newSellIn = calculateSellIn(item.name, item.sellIn); - var newQuality = rules.stream() + val newQuality = rules.stream() .reduce(new Result(item.quality, false), (q, rule) -> { if (q.isFinalValue() || !rule.shouldApply(item.name)) { diff --git a/Java/src/main/java/com/gildedrose/rules/BackstagePassQualityRule.java b/Java/src/main/java/com/gildedrose/rules/BackstagePassQualityRule.java index c41633e8..67a28c65 100644 --- a/Java/src/main/java/com/gildedrose/rules/BackstagePassQualityRule.java +++ b/Java/src/main/java/com/gildedrose/rules/BackstagePassQualityRule.java @@ -11,7 +11,15 @@ public class BackstagePassQualityRule implements QualityRule { @Override public Result calculateQuality(int oldQuality, int sellIn) { - final int newQuality = oldQuality + 2; + final int newQuality; + + if (sellIn < 0) { + newQuality = 0; + } else if (sellIn < 5) { + newQuality = oldQuality + 3; + } else { + newQuality = oldQuality + 2; + } return new Result(min(newQuality, 50), true); } }