diff --git a/Java/src/main/java/com/gildedrose/model/BaseItem.java b/Java/src/main/java/com/gildedrose/model/BaseItem.java index b9bf5a01..7a16264a 100644 --- a/Java/src/main/java/com/gildedrose/model/BaseItem.java +++ b/Java/src/main/java/com/gildedrose/model/BaseItem.java @@ -18,6 +18,7 @@ public class BaseItem { public void update() { decrementSellIn(); + updateQuality(); } private void decrementSellIn() { @@ -31,4 +32,8 @@ public class BaseItem { public void setQuality(int quality) { item.quality = quality; } + + private void updateQuality() { + setQuality(getQuality() - 1); + } } diff --git a/Java/src/test/java/com/gildedrose/model/BaseItemTest.java b/Java/src/test/java/com/gildedrose/model/BaseItemTest.java index a400ecf3..abe3ebff 100644 --- a/Java/src/test/java/com/gildedrose/model/BaseItemTest.java +++ b/Java/src/test/java/com/gildedrose/model/BaseItemTest.java @@ -9,13 +9,13 @@ class BaseItemTest { @Test 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()); } @Test void itMutatesTheSellInValueOfTheItem() { - BaseItem baseItem = new BaseItem(new Item("foo", 10, 20)); + BaseItem baseItem = new BaseItem(new Item("test_item", 10, 20)); baseItem.setSellIn(9); assertEquals(9, baseItem.getSellIn()); } @@ -28,15 +28,22 @@ class BaseItemTest { @Test 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()); } @Test void itMutatesTheQualityValueOfTheItem() { - BaseItem baseItem = new BaseItem(new Item("foo", 10, 20)); + BaseItem baseItem = new BaseItem(new Item("test_item", 10, 20)); baseItem.setQuality(19); 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()); + } + }