method extractions

This commit is contained in:
Gabba 2017-12-18 13:17:25 +00:00
parent 8b1df0a5e6
commit c4e303ef70
4 changed files with 61 additions and 16 deletions

View File

@ -9,7 +9,15 @@ public class AgedBrie implements CustomisedItem {
}
public void updateState() {
decreaseSellByDayValueByOne();
increaseQualityByOne();
}
private void decreaseSellByDayValueByOne() {
item.sellIn -= 1;
}
private void increaseQualityByOne() {
item.quality += 1;
}
}

View File

@ -9,15 +9,31 @@ public class BackstagePassesItem implements CustomisedItem {
}
public void updateState() {
item.sellIn -= 1;
if (item.sellIn >= 11) {
item.quality += 1;
} else if (item.sellIn > 5) {
item.quality += 2;
} else if (item.sellIn > 0) {
item.quality += 3;
decreaseSellByDayValueByOne();
if (sellByDayValueIsOver(10)) {
increaseQualityBy(1);
} else if (sellByDayValueIsOver(5)) {
increaseQualityBy(2);
} else if (sellByDayValueIsOver(0)) {
increaseQualityBy(3);
} else {
item.quality = 0;
dropQualityToZero();
}
}
private void decreaseSellByDayValueByOne() {
item.sellIn -= 1;
}
private boolean sellByDayValueIsOver(int dayNumber) {
return item.sellIn > dayNumber;
}
private void increaseQualityBy(int qualityValue) {
item.quality += qualityValue;
}
private void dropQualityToZero() {
item.quality = 0;
}
}

View File

@ -9,12 +9,23 @@ public class ConjuredItem implements CustomisedItem {
}
public void updateState() {
item.sellIn -= 1;
if (item.sellIn > 0) {
item.quality -= 2;
decreaseSellByDayValueByOne();
if (sellByDayValueIsOverZero()) {
decreaseQualityBy(2);
} else {
item.quality -= 4;
decreaseQualityBy(4);
}
}
private void decreaseSellByDayValueByOne() {
item.sellIn -= 1;
}
private boolean sellByDayValueIsOverZero() {
return item.sellIn > 0;
}
private void decreaseQualityBy(int qualityValue) {
item.quality -= qualityValue;
}
}

View File

@ -9,13 +9,23 @@ public class StandardItem implements CustomisedItem {
}
public void updateState() {
item.sellIn -= 1;
if (item.sellIn > 0) {
item.quality -= 1;
decreaseSellByDayValueByOne();
if (sellByDayValueIsOverZero()) {
decreaseQualityBy(1);
} else {
item.quality -= 2;
decreaseQualityBy(2);
}
}
private void decreaseSellByDayValueByOne() {
item.sellIn -= 1;
}
private boolean sellByDayValueIsOverZero() {
return item.sellIn > 0;
}
private void decreaseQualityBy(int qualityValue) {
item.quality -= qualityValue;
}
}