mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 06:21:29 +00:00
Use parametrized DefaultQualityRule for aged brie
This commit is contained in:
parent
8d00059cc2
commit
91ea27e5d6
@ -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<QualityRule> rules = List.of(
|
||||
new ConstantQualityRule(SULFURAS_HAND_OF_RAGNAROS),
|
||||
new AgedBrieQualityRule(),
|
||||
new DefaultQualityRule("Aged Brie", -1, true),
|
||||
new BackstagePassQualityRule(),
|
||||
new ConjuredQualityRule(),
|
||||
new DefaultQualityRule()
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -3,7 +3,7 @@ package com.gildedrose.rules;
|
||||
public class ConjuredQualityRule extends DefaultQualityRule {
|
||||
|
||||
public ConjuredQualityRule() {
|
||||
super(2, null, true);
|
||||
super(null, 2, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user