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 {
|
||||
private final Item item;
|
||||
private final static int MIN_QUALITY = 0;
|
||||
public BaseItem(Item item) {
|
||||
this.item = item;
|
||||
}
|
||||
@ -30,7 +31,7 @@ public class BaseItem {
|
||||
}
|
||||
|
||||
public void setQuality(int quality) {
|
||||
item.quality = quality;
|
||||
item.quality = Math.max(quality, MIN_QUALITY);
|
||||
}
|
||||
|
||||
private void updateQuality() {
|
||||
|
||||
@ -58,5 +58,18 @@ class BaseItemTest {
|
||||
testItem.update();
|
||||
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