mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 14:31:28 +00:00
An Item's quality can not be set to less than the minimum
This commit is contained in:
parent
4e9edb7696
commit
0c8aa134b8
@ -4,6 +4,7 @@ import com.gildedrose.Item;
|
|||||||
|
|
||||||
public class BaseItem {
|
public class BaseItem {
|
||||||
private final Item item;
|
private final Item item;
|
||||||
|
private final static int MIN_QUALITY = 0;
|
||||||
public BaseItem(Item item) {
|
public BaseItem(Item item) {
|
||||||
this.item = item;
|
this.item = item;
|
||||||
}
|
}
|
||||||
@ -30,7 +31,7 @@ public class BaseItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setQuality(int quality) {
|
public void setQuality(int quality) {
|
||||||
item.quality = quality;
|
item.quality = Math.max(quality, MIN_QUALITY);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateQuality() {
|
private void updateQuality() {
|
||||||
|
|||||||
@ -58,5 +58,18 @@ class BaseItemTest {
|
|||||||
testItem.update();
|
testItem.update();
|
||||||
assertEquals(8, testItem.getQuality());
|
assertEquals(8, testItem.getQuality());
|
||||||
}
|
}
|
||||||
|
@Test
|
||||||
|
void givenABaseItemWithZeroQuality_whenUpdated_thenQualityIsNeverNegative() {
|
||||||
|
BaseItem testItem = new BaseItem(new Item("test_item", 0, 0));
|
||||||
|
testItem.update();
|
||||||
|
assertEquals(0, testItem.getQuality());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenAnExpiredBaseItemWithQualityOne_whenUpdated_thenQualityIsNeverNegative() {
|
||||||
|
BaseItem testItem = new BaseItem(new Item("test_item", -1, 1));
|
||||||
|
testItem.update();
|
||||||
|
assertEquals(0, testItem.getQuality());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user