mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-17 15:31:27 +00:00
Once the sell by date has passed, Quality degrades twice as fast
This commit is contained in:
parent
68eeb1fc0f
commit
b8badc7ed9
@ -39,7 +39,7 @@ internal class GildedRoseTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun qualityIsNeverNegative() {
|
fun qualityIsNeverNegative() {
|
||||||
(1..100).forEach {
|
(items.map { it.sellIn }.maxOrNull()!! downTo -3).forEach {
|
||||||
gildedRose.updateQuality()
|
gildedRose.updateQuality()
|
||||||
items.forEach {
|
items.forEach {
|
||||||
assertTrue(it.quality >= 0, "The quality of an item is never negative")
|
assertTrue(it.quality >= 0, "The quality of an item is never negative")
|
||||||
@ -69,6 +69,19 @@ internal class GildedRoseTest {
|
|||||||
assertEquals(0, elixir.quality)
|
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
|
@Test
|
||||||
fun agedBrieIncreasesInQuality() {
|
fun agedBrieIncreasesInQuality() {
|
||||||
items.first { it.name == "Aged Brie" }.also { agedBrie ->
|
items.first { it.name == "Aged Brie" }.also { agedBrie ->
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user