GildedRose-Refactoring-Kata/Java/src/main/java/com/gildedrose/AgedBrieStategy.java
MarceluitNL 116e9b12a5 Refactored with Polymorphism.
Thinking Loterijen uses own proprietary software
2021-04-18 19:08:41 +02:00

24 lines
572 B
Java

package com.gildedrose;
public class AgedBrieStategy implements ItemStrategy {
@Override
public Item updateItem(Item item) {
int newQuality = sellByDayPassed(item) ? item.quality + 2 : item.quality + 1;
if(isQualityGreaterThanFifty(newQuality)) {
newQuality = 50;
}
return new Item(item.name, item.sellIn - 1, newQuality);
}
private boolean sellByDayPassed(Item item) {
return item.sellIn < 1;
}
private boolean isQualityGreaterThanFifty(int newQuality) {
return newQuality > 50;
}
}