From 91ea27e5d6876c78ebcabc81f97816954d785cf6 Mon Sep 17 00:00:00 2001 From: Konstantin Pavlov Date: Sun, 30 Jun 2019 08:55:27 +0200 Subject: [PATCH] Use parametrized DefaultQualityRule for aged brie --- .../src/main/java/com/gildedrose/GildedRose.java | 3 +-- .../gildedrose/rules/AgedBrieQualityRule.java | 16 ---------------- .../gildedrose/rules/ConjuredQualityRule.java | 2 +- .../com/gildedrose/rules/DefaultQualityRule.java | 4 ++-- 4 files changed, 4 insertions(+), 21 deletions(-) delete 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 727245fd..a98a4fe6 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -1,6 +1,5 @@ package com.gildedrose; -import com.gildedrose.rules.AgedBrieQualityRule; import com.gildedrose.rules.AgingStrategy; import com.gildedrose.rules.BackstagePassQualityRule; import com.gildedrose.rules.ConjuredQualityRule; @@ -24,7 +23,7 @@ class GildedRose { private final List rules = List.of( new ConstantQualityRule(SULFURAS_HAND_OF_RAGNAROS), - new AgedBrieQualityRule(), + new DefaultQualityRule("Aged Brie", -1, true), new BackstagePassQualityRule(), new ConjuredQualityRule(), new DefaultQualityRule() diff --git a/Java/src/main/java/com/gildedrose/rules/AgedBrieQualityRule.java b/Java/src/main/java/com/gildedrose/rules/AgedBrieQualityRule.java deleted file mode 100644 index 81efeab3..00000000 --- a/Java/src/main/java/com/gildedrose/rules/AgedBrieQualityRule.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.gildedrose.rules; - -import static java.lang.Integer.min; - -public class AgedBrieQualityRule implements QualityRule { - - @Override - public boolean shouldApply(String itemName) { - return "Aged Brie".equals(itemName); - } - - @Override - public Result calculateQuality(int oldQuality, int newSellIn) { - return new Result(min(oldQuality + 1, 50), true); - } -} diff --git a/Java/src/main/java/com/gildedrose/rules/ConjuredQualityRule.java b/Java/src/main/java/com/gildedrose/rules/ConjuredQualityRule.java index fda66e3b..c2c04a9f 100644 --- a/Java/src/main/java/com/gildedrose/rules/ConjuredQualityRule.java +++ b/Java/src/main/java/com/gildedrose/rules/ConjuredQualityRule.java @@ -3,7 +3,7 @@ package com.gildedrose.rules; public class ConjuredQualityRule extends DefaultQualityRule { public ConjuredQualityRule() { - super(2, null, true); + super(null, 2, true); } @Override diff --git a/Java/src/main/java/com/gildedrose/rules/DefaultQualityRule.java b/Java/src/main/java/com/gildedrose/rules/DefaultQualityRule.java index b99692b0..7541c031 100644 --- a/Java/src/main/java/com/gildedrose/rules/DefaultQualityRule.java +++ b/Java/src/main/java/com/gildedrose/rules/DefaultQualityRule.java @@ -9,10 +9,10 @@ public class DefaultQualityRule implements QualityRule { private final boolean isFinalRule; public DefaultQualityRule() { - this(1, null, false); + this(null, 1, false); } - public DefaultQualityRule(int multiplier, String itemName, boolean isFinalRule) { + public DefaultQualityRule(String itemName, int multiplier, boolean isFinalRule) { this.multiplier = multiplier; this.expectedItemName = itemName; this.isFinalRule = isFinalRule;