Test for Conjured items passed.

Feature integrated.

Signed-off-by: Atul Anand <atulanand206@gmail.com>
This commit is contained in:
Atul Anand 2020-09-14 01:19:06 +05:30
parent 559ac9fb91
commit 936527e4d3
2 changed files with 17 additions and 5 deletions

View File

@ -5,8 +5,7 @@ class GildedRose(val items: Array[Item]) {
def updateQuality() {
for (i <- items.indices) {
if (isItemNotIncremental(i)) {
if (isQualityPositive(i))
incrementQuality(i, -1)
incrementQualityForNonIncrementalItems(i)
} else
incrementQualityForIncrementalItems(i)
decrementSellInIfNotSulfuras(i)
@ -15,6 +14,13 @@ class GildedRose(val items: Array[Item]) {
}
}
private def incrementQualityForNonIncrementalItems(i: Int): Unit = {
if (isQualityPositive(i)) {
incrementQuality(i, -1)
additionalIncrementForConjured(i)
}
}
private def incrementQualityForIncrementalItems(i: Int): Unit = {
if (isQualityLessThan50(i)) {
incrementQuality(i, 1)
@ -31,6 +37,11 @@ class GildedRose(val items: Array[Item]) {
incrementQuality(i, -1)
}
private def additionalIncrementForConjured(i: Int): Unit = {
if (isConjured(i))
incrementQuality(i, -1)
}
private def additionalIncrementForBackstagePasses(i: Int): Unit = {
if (isBackstagePass(i))
incrementBackstagePassQuality(i)

View File

@ -89,8 +89,8 @@ class GildedRoseTest extends AnyWordSpec with Matchers with BeforeAndAfter {
}
"quality of Conjured items degrade twice as fast of elixir" in {
val sellIn = 1
val quality = 30
val sellIn = 10
val quality = 10
app = createApp(createItemsWithConjuredAndElixir(sellIn, quality))
verifyQualityForConjuredAgainstElixir(sellIn)
}
@ -109,7 +109,8 @@ class GildedRoseTest extends AnyWordSpec with Matchers with BeforeAndAfter {
app.updateQuality()
val conjuredQualityDrop = prevQualityConjured - app.items(0).quality
val elixirQualityDrop = prevQualityElixir - app.items(1).quality
assert(conjuredQualityDrop == 2 * elixirQualityDrop)
if (conjuredQualityDrop != 0)
assert(conjuredQualityDrop == 2 * elixirQualityDrop)
}
}