Once the sell by date has passed, Quality degrades twice as fast

This commit is contained in:
Eric Jan Malotaux 2022-04-26 23:58:05 +02:00
parent 68eeb1fc0f
commit b8badc7ed9

View File

@ -39,7 +39,7 @@ internal class GildedRoseTest {
@Test
fun qualityIsNeverNegative() {
(1..100).forEach {
(items.map { it.sellIn }.maxOrNull()!! downTo -3).forEach {
gildedRose.updateQuality()
items.forEach {
assertTrue(it.quality >= 0, "The quality of an item is never negative")
@ -69,6 +69,19 @@ internal class GildedRoseTest {
assertEquals(0, elixir.quality)
}
@Test
fun afterSellByDateHasPassedQualityDecreasesTwiceAsFase() {
val elixir = gildedRose.items.first { it.name.startsWith("Elixir") }
while (elixir.sellIn > 0) {
val quality = elixir.quality
gildedRose.updateQuality()
assertEquals(quality - 1, elixir.quality)
}
val quality = elixir.quality
gildedRose.updateQuality()
assertEquals(quality - 2, elixir.quality)
}
@Test
fun agedBrieIncreasesInQuality() {
items.first { it.name == "Aged Brie" }.also { agedBrie ->