item quality test cases

1 - test case for item quality degrades twice as fast past selling date
2 - item quality degrades by one with one day left
3- item quality degrades down to zero
4 - item quality is never negative
This commit is contained in:
Trobax 2022-11-23 16:34:08 +01:00
parent 8692a3e3e9
commit e1aa1664e5

View File

@ -41,4 +41,44 @@ class GildedRoseTest {
assertThat(secondItem.sellIn).isEqualTo(2);
assertThat(secondItem.quality).isEqualTo(1);
}
@Test
void item_quality_degrades_twice_as_fast_past_sellin_date() {
Item item = new Item("Standard Item", -1, 6);
GildedRose app = new GildedRose(new Item[]{item});
app.updateQuality();
assertThat(item.quality).isEqualTo(4);
}
@Test
void item_quality_degrades_by_one_with_one_day_left() {
Item item = new Item("Standard Item", 1, 6);
GildedRose app = new GildedRose(new Item[]{item});
app.updateQuality();
assertThat(item.quality).isEqualTo(5);
}
@Test
void item_quality_degrades_down_to_zero() {
Item item = new Item("Standard Item", 5, 1);
GildedRose app = new GildedRose(new Item[]{item});
app.updateQuality();
assertThat(item.quality).isZero();
}
@Test
void item_quality_is_never_negative() {
Item item = new Item("First Standard Item", 4, 0);
GildedRose app = new GildedRose(new Item[]{item});
app.updateQuality();
assertThat(item.quality).isZero();
}
}