mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
Test for Conjured items passed.
Feature integrated. Signed-off-by: Atul Anand <atulanand206@gmail.com>
This commit is contained in:
parent
559ac9fb91
commit
936527e4d3
@ -5,8 +5,7 @@ class GildedRose(val items: Array[Item]) {
|
|||||||
def updateQuality() {
|
def updateQuality() {
|
||||||
for (i <- items.indices) {
|
for (i <- items.indices) {
|
||||||
if (isItemNotIncremental(i)) {
|
if (isItemNotIncremental(i)) {
|
||||||
if (isQualityPositive(i))
|
incrementQualityForNonIncrementalItems(i)
|
||||||
incrementQuality(i, -1)
|
|
||||||
} else
|
} else
|
||||||
incrementQualityForIncrementalItems(i)
|
incrementQualityForIncrementalItems(i)
|
||||||
decrementSellInIfNotSulfuras(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 = {
|
private def incrementQualityForIncrementalItems(i: Int): Unit = {
|
||||||
if (isQualityLessThan50(i)) {
|
if (isQualityLessThan50(i)) {
|
||||||
incrementQuality(i, 1)
|
incrementQuality(i, 1)
|
||||||
@ -31,6 +37,11 @@ class GildedRose(val items: Array[Item]) {
|
|||||||
incrementQuality(i, -1)
|
incrementQuality(i, -1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private def additionalIncrementForConjured(i: Int): Unit = {
|
||||||
|
if (isConjured(i))
|
||||||
|
incrementQuality(i, -1)
|
||||||
|
}
|
||||||
|
|
||||||
private def additionalIncrementForBackstagePasses(i: Int): Unit = {
|
private def additionalIncrementForBackstagePasses(i: Int): Unit = {
|
||||||
if (isBackstagePass(i))
|
if (isBackstagePass(i))
|
||||||
incrementBackstagePassQuality(i)
|
incrementBackstagePassQuality(i)
|
||||||
|
|||||||
@ -89,8 +89,8 @@ class GildedRoseTest extends AnyWordSpec with Matchers with BeforeAndAfter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
"quality of Conjured items degrade twice as fast of elixir" in {
|
"quality of Conjured items degrade twice as fast of elixir" in {
|
||||||
val sellIn = 1
|
val sellIn = 10
|
||||||
val quality = 30
|
val quality = 10
|
||||||
app = createApp(createItemsWithConjuredAndElixir(sellIn, quality))
|
app = createApp(createItemsWithConjuredAndElixir(sellIn, quality))
|
||||||
verifyQualityForConjuredAgainstElixir(sellIn)
|
verifyQualityForConjuredAgainstElixir(sellIn)
|
||||||
}
|
}
|
||||||
@ -109,7 +109,8 @@ class GildedRoseTest extends AnyWordSpec with Matchers with BeforeAndAfter {
|
|||||||
app.updateQuality()
|
app.updateQuality()
|
||||||
val conjuredQualityDrop = prevQualityConjured - app.items(0).quality
|
val conjuredQualityDrop = prevQualityConjured - app.items(0).quality
|
||||||
val elixirQualityDrop = prevQualityElixir - app.items(1).quality
|
val elixirQualityDrop = prevQualityElixir - app.items(1).quality
|
||||||
assert(conjuredQualityDrop == 2 * elixirQualityDrop)
|
if (conjuredQualityDrop != 0)
|
||||||
|
assert(conjuredQualityDrop == 2 * elixirQualityDrop)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user