mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-14 22:21:20 +00:00
conjured item extends standard item
This commit is contained in:
parent
c4e303ef70
commit
5df478fa29
@ -1,31 +1,13 @@
|
||||
package com.gildedrose.item;
|
||||
|
||||
public class ConjuredItem implements CustomisedItem {
|
||||
|
||||
private final Item item;
|
||||
public class ConjuredItem extends StandardItem {
|
||||
|
||||
public ConjuredItem(Item item) {
|
||||
this.item = item;
|
||||
super(item);
|
||||
}
|
||||
|
||||
public void updateState() {
|
||||
decreaseSellByDayValueByOne();
|
||||
if (sellByDayValueIsOverZero()) {
|
||||
decreaseQualityBy(2);
|
||||
} else {
|
||||
decreaseQualityBy(4);
|
||||
}
|
||||
}
|
||||
|
||||
private void decreaseSellByDayValueByOne() {
|
||||
item.sellIn -= 1;
|
||||
}
|
||||
|
||||
private boolean sellByDayValueIsOverZero() {
|
||||
return item.sellIn > 0;
|
||||
}
|
||||
|
||||
private void decreaseQualityBy(int qualityValue) {
|
||||
item.quality -= qualityValue;
|
||||
@Override
|
||||
public int decreasingValueOverZeroDaysToSell() {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,12 +11,16 @@ public class StandardItem implements CustomisedItem {
|
||||
public void updateState() {
|
||||
decreaseSellByDayValueByOne();
|
||||
if (sellByDayValueIsOverZero()) {
|
||||
decreaseQualityBy(1);
|
||||
decreaseQualityBy(decreasingValueOverZeroDaysToSell());
|
||||
} else {
|
||||
decreaseQualityBy(2);
|
||||
decreaseQualityBy(decreasingValueForZeroOrLessDaysToSell());
|
||||
}
|
||||
}
|
||||
|
||||
public int decreasingValueOverZeroDaysToSell() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
private void decreaseSellByDayValueByOne() {
|
||||
item.sellIn -= 1;
|
||||
}
|
||||
@ -28,4 +32,8 @@ public class StandardItem implements CustomisedItem {
|
||||
private void decreaseQualityBy(int qualityValue) {
|
||||
item.quality -= qualityValue;
|
||||
}
|
||||
|
||||
private int decreasingValueForZeroOrLessDaysToSell() {
|
||||
return decreasingValueOverZeroDaysToSell() * 2;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user