Expired Items degrade twice faster

This commit is contained in:
Ibrahim Dogrusoz 2023-05-28 16:25:39 +02:00
parent 4733f42f43
commit 4e9edb7696
2 changed files with 12 additions and 1 deletions

View File

@ -34,10 +34,14 @@ public class BaseItem {
} }
private void updateQuality() { private void updateQuality() {
setQuality(getQuality() - 1); setQuality(getQuality() + qualityChange());
} }
protected boolean isExpired() { protected boolean isExpired() {
return item.sellIn < 0; return item.sellIn < 0;
} }
private int qualityChange() {
return isExpired() ? -2 : -1;
}
} }

View File

@ -52,4 +52,11 @@ class BaseItemTest {
assertTrue(testItem.isExpired()); assertTrue(testItem.isExpired());
} }
@Test
void givenAnExpiredBaseItem_whenUpdated_thenQualityDecrementsByTwo() {
BaseItem testItem = new BaseItem(new Item("test_item", 0, 10));
testItem.update();
assertEquals(8, testItem.getQuality());
}
} }