From f60b800cd82264b6186bf032b852419013b136ad Mon Sep 17 00:00:00 2001 From: Konstantin Pavlov Date: Sun, 30 Jun 2019 06:34:30 +0200 Subject: [PATCH] added AgedBrieQualityRule --- .../src/main/java/com/gildedrose/GildedRose.java | 8 ++++++-- .../gildedrose/rules/AgedBrieQualityRule.java | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 Java/src/main/java/com/gildedrose/rules/AgedBrieQualityRule.java diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index c25a6c95..6cdb2555 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -1,5 +1,6 @@ package com.gildedrose; +import com.gildedrose.rules.AgedBrieQualityRule; import com.gildedrose.rules.QualityRule; import com.gildedrose.rules.SulfurasQualityRule; import lombok.val; @@ -11,6 +12,7 @@ class GildedRose { private final List rules = List.of( new SulfurasQualityRule(), + new AgedBrieQualityRule(), new QualityRule() ); @@ -38,6 +40,7 @@ class GildedRose { }, (a, b) -> b).getQuality(); +/* if (!item.name.equals("Aged Brie") && !item.name.equals("Backstage passes to a TAFKAL80ETC concert")) { if (item.quality > 0) { @@ -64,10 +67,11 @@ class GildedRose { } } } +*/ val newSellIn = calculateSellIn(item.name, item.sellIn); - if (newSellIn < 0) { +/* if (newSellIn < 0) { if (!item.name.equals("Aged Brie")) { if (!item.name.equals("Backstage passes to a TAFKAL80ETC concert")) { if (item.quality > 0) { @@ -83,7 +87,7 @@ class GildedRose { item.quality = item.quality + 1; } } - } + }*/ item.quality = newQuality; item.sellIn = newSellIn; diff --git a/Java/src/main/java/com/gildedrose/rules/AgedBrieQualityRule.java b/Java/src/main/java/com/gildedrose/rules/AgedBrieQualityRule.java new file mode 100644 index 00000000..a1874942 --- /dev/null +++ b/Java/src/main/java/com/gildedrose/rules/AgedBrieQualityRule.java @@ -0,0 +1,16 @@ +package com.gildedrose.rules; + +import static java.lang.Integer.min; + +public class AgedBrieQualityRule extends QualityRule { + + @Override + public boolean shouldApply(String itemName) { + return "Aged Brie".equals(itemName); + } + + @Override + public Result calculateQuality(int oldQuality) { + return new Result(min(oldQuality + 1, 50), true); + } +}