mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-18 07:51:29 +00:00
[feat] Cojured items degrade x2, refact
This commit is contained in:
parent
f80413c2fd
commit
1b60534870
@ -2,15 +2,35 @@ package com.gildedrose
|
||||
|
||||
class GildedRose(var items: Array<Item>) {
|
||||
|
||||
fun isDecreasingItem(item: Item): Boolean {
|
||||
if(item.name != "Aged Brie" && item.name != "Backstage passes to a TAFKAL80ETC concert") {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
fun decreaseItemQuality(item: Item, amount: Int) {
|
||||
item.quality = item.quality - amount
|
||||
}
|
||||
|
||||
|
||||
|
||||
fun updateQuality() {
|
||||
for (i in items.indices) {
|
||||
if (items[i].name != "Aged Brie" && items[i].name != "Backstage passes to a TAFKAL80ETC concert") {
|
||||
if (!isDecreasingItem(items[i])) {
|
||||
if (items[i].quality > 0) {
|
||||
if (items[i].name != "Sulfuras, Hand of Ragnaros") {
|
||||
items[i].quality = items[i].quality - 1
|
||||
if (items[i].name != "Sulfuras, Hand of Ragnaros" && items[i].name != "Conjured Mana Cake") {
|
||||
decreaseItemQuality(items[i], 1)
|
||||
}
|
||||
|
||||
if(items[i].name == "Conjured Mana Cake") {
|
||||
decreaseItemQuality(items[i], 2)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
if (items[i].quality < 50) {
|
||||
items[i].quality = items[i].quality + 1
|
||||
|
||||
@ -30,20 +50,24 @@ class GildedRose(var items: Array<Item>) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (items[i].name != "Sulfuras, Hand of Ragnaros") {
|
||||
items[i].sellIn = items[i].sellIn - 1
|
||||
}
|
||||
|
||||
if (items[i].sellIn < 0) {
|
||||
if (items[i].name != "Aged Brie") {
|
||||
// if (items[i].name != "Aged Brie") {
|
||||
if (!isDecreasingItem(items[0])) {
|
||||
|
||||
if (items[i].name != "Backstage passes to a TAFKAL80ETC concert") {
|
||||
if (items[i].quality > 0) {
|
||||
if (items[i].name != "Sulfuras, Hand of Ragnaros") {
|
||||
items[i].quality = items[i].quality - 1
|
||||
decreaseItemQuality(items[i], 1)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
items[i].quality = items[i].quality - items[i].quality
|
||||
decreaseItemQuality(items[i], items[i].quality)
|
||||
// items[i].quality = items[i].quality - items[i].quality
|
||||
}
|
||||
} else {
|
||||
if (items[i].quality < 50) {
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.gildedrose
|
||||
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
import org.junit.jupiter.api.Nested
|
||||
import org.junit.jupiter.api.Test
|
||||
|
||||
internal class GildedRoseTest {
|
||||
@ -10,10 +11,26 @@ internal class GildedRoseTest {
|
||||
val items = arrayOf<Item>(Item("foo", 0, 0))
|
||||
val app = GildedRose(items)
|
||||
app.updateQuality()
|
||||
assertEquals("fixme", app.items[0].name)
|
||||
assertEquals("foo", app.items[0].name)
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `decreaseNormalQualityTest`() {
|
||||
val items = arrayOf<Item>(Item("Elixir of the Mongoose", 5, 7),)
|
||||
val app = GildedRose(items)
|
||||
app.updateQuality()
|
||||
assertEquals(6, app.items[0].quality)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun decreaseConjuredQualityTest() {
|
||||
val items = arrayOf(Item("Conjured Mana Cake", 1, 6))
|
||||
val app = GildedRose(items)
|
||||
app.updateQuality()
|
||||
assertEquals(4, app.items[0].quality)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user