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;
|
package com.gildedrose;
|
||||||
|
|
||||||
import com.gildedrose.rules.AgedBrieQualityRule;
|
|
||||||
import com.gildedrose.rules.AgingStrategy;
|
import com.gildedrose.rules.AgingStrategy;
|
||||||
import com.gildedrose.rules.BackstagePassQualityRule;
|
import com.gildedrose.rules.BackstagePassQualityRule;
|
||||||
import com.gildedrose.rules.ConjuredQualityRule;
|
import com.gildedrose.rules.ConjuredQualityRule;
|
||||||
@ -24,7 +23,7 @@ class GildedRose {
|
|||||||
|
|
||||||
private final List<QualityRule> rules = List.of(
|
private final List<QualityRule> rules = List.of(
|
||||||
new ConstantQualityRule(SULFURAS_HAND_OF_RAGNAROS),
|
new ConstantQualityRule(SULFURAS_HAND_OF_RAGNAROS),
|
||||||
new AgedBrieQualityRule(),
|
new DefaultQualityRule("Aged Brie", -1, true),
|
||||||
new BackstagePassQualityRule(),
|
new BackstagePassQualityRule(),
|
||||||
new ConjuredQualityRule(),
|
new ConjuredQualityRule(),
|
||||||
new DefaultQualityRule()
|
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 class ConjuredQualityRule extends DefaultQualityRule {
|
||||||
|
|
||||||
public ConjuredQualityRule() {
|
public ConjuredQualityRule() {
|
||||||
super(2, null, true);
|
super(null, 2, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -9,10 +9,10 @@ public class DefaultQualityRule implements QualityRule {
|
|||||||
private final boolean isFinalRule;
|
private final boolean isFinalRule;
|
||||||
|
|
||||||
public DefaultQualityRule() {
|
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.multiplier = multiplier;
|
||||||
this.expectedItemName = itemName;
|
this.expectedItemName = itemName;
|
||||||
this.isFinalRule = isFinalRule;
|
this.isFinalRule = isFinalRule;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user