At the end of the day it updates the quality value

This commit is contained in:
Ibrahim Dogrusoz 2023-05-28 16:20:51 +02:00
parent c75eec8610
commit 90ec34d0ab
2 changed files with 16 additions and 4 deletions

View File

@ -18,6 +18,7 @@ public class BaseItem {
public void update() { public void update() {
decrementSellIn(); decrementSellIn();
updateQuality();
} }
private void decrementSellIn() { private void decrementSellIn() {
@ -31,4 +32,8 @@ public class BaseItem {
public void setQuality(int quality) { public void setQuality(int quality) {
item.quality = quality; item.quality = quality;
} }
private void updateQuality() {
setQuality(getQuality() - 1);
}
} }

View File

@ -9,13 +9,13 @@ class BaseItemTest {
@Test @Test
void itEncapsulatesTheSellInValueOfTheItem() { void itEncapsulatesTheSellInValueOfTheItem() {
BaseItem baseItem = new BaseItem(new Item("foo", 10, 20)); BaseItem baseItem = new BaseItem(new Item("test_item", 10, 20));
assertEquals(10, baseItem.getSellIn()); assertEquals(10, baseItem.getSellIn());
} }
@Test @Test
void itMutatesTheSellInValueOfTheItem() { void itMutatesTheSellInValueOfTheItem() {
BaseItem baseItem = new BaseItem(new Item("foo", 10, 20)); BaseItem baseItem = new BaseItem(new Item("test_item", 10, 20));
baseItem.setSellIn(9); baseItem.setSellIn(9);
assertEquals(9, baseItem.getSellIn()); assertEquals(9, baseItem.getSellIn());
} }
@ -28,15 +28,22 @@ class BaseItemTest {
@Test @Test
void itEncapsulatesTheQualityValueOfTheItem() { void itEncapsulatesTheQualityValueOfTheItem() {
BaseItem baseItem = new BaseItem(new Item("foo", 10, 20)); BaseItem baseItem = new BaseItem(new Item("test_item", 10, 20));
assertEquals(20, baseItem.getQuality()); assertEquals(20, baseItem.getQuality());
} }
@Test @Test
void itMutatesTheQualityValueOfTheItem() { void itMutatesTheQualityValueOfTheItem() {
BaseItem baseItem = new BaseItem(new Item("foo", 10, 20)); BaseItem baseItem = new BaseItem(new Item("test_item", 10, 20));
baseItem.setQuality(19); baseItem.setQuality(19);
assertEquals(19, baseItem.getQuality()); assertEquals(19, baseItem.getQuality());
} }
@Test
void givenABaseItem_whenUpdated_thenQualityDecrements() {
BaseItem testItem = new BaseItem(new Item("test_item", 10, 10));
testItem.update();
assertEquals(9, testItem.getQuality());
}
} }