Failing test for Conjured items.

Signed-off-by: Atul Anand <atulanand206@gmail.com>
This commit is contained in:
Atul Anand 2020-09-14 01:15:19 +05:30
parent c29949a491
commit 559ac9fb91

View File

@ -50,7 +50,7 @@ class GildedRoseTest extends AnyWordSpec with Matchers with BeforeAndAfter {
itemCreator.backstagePassItem(sellIn, quality),
itemCreator.agedBrieItem(sellIn, quality),
itemCreator.dexterityItem(sellIn, quality),
itemCreator.elixirItem(sellIn, quality),
itemCreator.elixirItem(sellIn, quality)
)
}
@ -72,7 +72,7 @@ class GildedRoseTest extends AnyWordSpec with Matchers with BeforeAndAfter {
private def createItemsOfDecreasingQuality(sellIn: Int, quality: Int) = {
Array[Item](
itemCreator.dexterityItem(sellIn, quality),
itemCreator.elixirItem(sellIn, quality),
itemCreator.elixirItem(sellIn, quality)
)
}
@ -88,6 +88,31 @@ class GildedRoseTest extends AnyWordSpec with Matchers with BeforeAndAfter {
assert(i.quality == quality - diff)
}
"quality of Conjured items degrade twice as fast of elixir" in {
val sellIn = 1
val quality = 30
app = createApp(createItemsWithConjuredAndElixir(sellIn, quality))
verifyQualityForConjuredAgainstElixir(sellIn)
}
private def createItemsWithConjuredAndElixir(sellIn: Int, quality: Int) = {
Array[Item](
itemCreator.conjuredItem(sellIn, quality),
itemCreator.elixirItem(sellIn, quality)
)
}
private def verifyQualityForConjuredAgainstElixir(sellIn: Int): Unit = {
for (i <- 1 to sellIn) {
val prevQualityConjured = app.items(0).quality
val prevQualityElixir = app.items(1).quality
app.updateQuality()
val conjuredQualityDrop = prevQualityConjured - app.items(0).quality
val elixirQualityDrop = prevQualityElixir - app.items(1).quality
assert(conjuredQualityDrop == 2 * elixirQualityDrop)
}
}
"quality of Aged Brie increases with time and stays below 50" in {
app = createApp(createItemsWithOnlyAgedBrie())
verifyQualityForAgedBrie()