From f4e75c82677df88d936793c628f8d8631ed92933 Mon Sep 17 00:00:00 2001 From: Clara BG Date: Thu, 3 Jul 2025 17:22:39 +0100 Subject: [PATCH] end of day gilded rose full implementation --- Kotlin/src/main/kotlin/com/gildedrose/GildedRose.kt | 11 ++++++++++- .../src/main/kotlin/com/gildedrose/TexttestFixture.kt | 1 - .../src/test/kotlin/com/gildedrose/GildedRoseTest.kt | 11 +++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Kotlin/src/main/kotlin/com/gildedrose/GildedRose.kt b/Kotlin/src/main/kotlin/com/gildedrose/GildedRose.kt index 1f2c2fc2..e8856ae9 100644 --- a/Kotlin/src/main/kotlin/com/gildedrose/GildedRose.kt +++ b/Kotlin/src/main/kotlin/com/gildedrose/GildedRose.kt @@ -11,7 +11,12 @@ class GildedRose(val items: List) { } if (items[i].name == "Aged Brie") { - items[i].quality += 1 + if (items[i].sellIn < 0) { + items[i].quality += 2 + } else { + items[i].quality += 1 + } + } if (items[i].name == "Backstage passes to a TAFKAL80ETC concert" && items[i].sellIn < 0) { @@ -50,6 +55,10 @@ class GildedRose(val items: List) { items[i].quality = 50 } + if (items[i].quality == 0) { + items[i].quality = 0 + } + } } diff --git a/Kotlin/src/main/kotlin/com/gildedrose/TexttestFixture.kt b/Kotlin/src/main/kotlin/com/gildedrose/TexttestFixture.kt index 2d4162b2..a36734b1 100644 --- a/Kotlin/src/main/kotlin/com/gildedrose/TexttestFixture.kt +++ b/Kotlin/src/main/kotlin/com/gildedrose/TexttestFixture.kt @@ -13,7 +13,6 @@ fun main(args: Array) { Item("Backstage passes to a TAFKAL80ETC concert", 15, 20), Item("Backstage passes to a TAFKAL80ETC concert", 10, 49), Item("Backstage passes to a TAFKAL80ETC concert", 5, 49), - // this conjured item does not work properly yet Item("Conjured Mana Cake", 3, 6) ) diff --git a/Kotlin/src/test/kotlin/com/gildedrose/GildedRoseTest.kt b/Kotlin/src/test/kotlin/com/gildedrose/GildedRoseTest.kt index 55c9d6eb..fa99055e 100644 --- a/Kotlin/src/test/kotlin/com/gildedrose/GildedRoseTest.kt +++ b/Kotlin/src/test/kotlin/com/gildedrose/GildedRoseTest.kt @@ -15,6 +15,16 @@ internal class GildedRoseTest { assertEquals(19, app.items[0].quality) } + @Test + fun dexterityVestNegativeSellIn() { + val items = listOf(Item("+5 Dexterity Vest", 0, 20)) + val app = GildedRose(items) + app.updateQuality() + assertEquals("+5 Dexterity Vest", app.items[0].name) + assertEquals(-1, app.items[0].sellIn) + assertEquals(18, app.items[0].quality) + } + @Test fun agedBrie() { val items = listOf(Item("Aged Brie", 2, 0)) @@ -24,6 +34,7 @@ internal class GildedRoseTest { assertEquals(1, app.items[0].sellIn) assertEquals(1, app.items[0].quality) } + @Test fun elixirOfTheMongoose() { val items = listOf(Item("Elixir of the Mongoose", 5, 7))