mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-04 09:11:39 +00:00
refactor: move all the mutations on Item to its own class
This commit is contained in:
parent
58205b5740
commit
d66943f0f4
@ -15,55 +15,39 @@ class GildedRose {
|
||||
|
||||
if (!isAgedBrie && !passesToTafkalConcert) {
|
||||
if (item.quality > 0 && !isSulfuras) {
|
||||
deductOneFromQuality(item);
|
||||
item.deductOneFromQuality();
|
||||
}
|
||||
} else if(item.quality < 50) {
|
||||
addOneToQuality(item);
|
||||
item.addOneToQuality();
|
||||
|
||||
if (passesToTafkalConcert) {
|
||||
if (item.sellIn < 11 && item.quality < 50) {
|
||||
addOneToQuality(item);
|
||||
item.addOneToQuality();
|
||||
}
|
||||
|
||||
if (item.sellIn < 6 && item.quality < 50) {
|
||||
addOneToQuality(item);
|
||||
item.addOneToQuality();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!isSulfuras) {
|
||||
deductSellIn(item);
|
||||
item.deductSellIn();
|
||||
}
|
||||
|
||||
if (item.sellIn < 0) {
|
||||
if (!isAgedBrie) {
|
||||
if (!passesToTafkalConcert) {
|
||||
if (item.quality > 0 && !isSulfuras) {
|
||||
deductOneFromQuality(item);
|
||||
item.deductOneFromQuality();
|
||||
}
|
||||
} else {
|
||||
setQualityToZero(item);
|
||||
item.setQualityToZero();
|
||||
}
|
||||
} else if ((item.quality < 50)) {
|
||||
addOneToQuality(item);
|
||||
item.addOneToQuality();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setQualityToZero(Item item) {
|
||||
item.quality = 0;
|
||||
}
|
||||
|
||||
public void deductSellIn(Item item) {
|
||||
item.sellIn--;
|
||||
}
|
||||
|
||||
public void addOneToQuality(Item item) {
|
||||
item.quality++;
|
||||
}
|
||||
|
||||
public void deductOneFromQuality(Item item) {
|
||||
item.quality--;
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,6 +18,22 @@ public class Item {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setQualityToZero() {
|
||||
quality = 0;
|
||||
}
|
||||
|
||||
public void deductSellIn() {
|
||||
sellIn--;
|
||||
}
|
||||
|
||||
public void addOneToQuality() {
|
||||
quality++;
|
||||
}
|
||||
|
||||
public void deductOneFromQuality() {
|
||||
quality--;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.name + ", " + this.sellIn + ", " + this.quality;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user