mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 06:21:29 +00:00
Add unit tests for limits of quality
This commit is contained in:
parent
75cf07cf6d
commit
72d6926f8a
@ -1,7 +1,6 @@
|
|||||||
package com.gildedrose
|
package com.gildedrose
|
||||||
|
|
||||||
import com.gildedrose.core.TestUtils
|
import com.gildedrose.core.TestUtils
|
||||||
import com.gildedrose.core.TestUtils.generateRandomName
|
|
||||||
import com.gildedrose.core.TestUtils.generateRandomNumber
|
import com.gildedrose.core.TestUtils.generateRandomNumber
|
||||||
import com.gildedrose.core.TestUtils.pickRandomItem
|
import com.gildedrose.core.TestUtils.pickRandomItem
|
||||||
import com.gildedrose.core.advanceTimeBy
|
import com.gildedrose.core.advanceTimeBy
|
||||||
@ -11,15 +10,36 @@ import org.junit.Test
|
|||||||
|
|
||||||
class QualityTest {
|
class QualityTest {
|
||||||
|
|
||||||
private lateinit var store: Array<Item>
|
private lateinit var store: List<Item>
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
fun setUp() {
|
fun setUp() {
|
||||||
store = TestUtils.fixture
|
store = TestUtils.fixture.toList()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun name() {
|
fun givenKnownItemExcepSulfuras_afterAnyNumberOfDays_shouldHaveQualityGreaterThanOrEqualToZero() {
|
||||||
throw UnsupportedOperationException()
|
val days = generateRandomNumber()
|
||||||
|
store = store.filter { it.name != "Sulfuras, Hand of Ragnaros" }
|
||||||
|
val app = GildedRose(store.toTypedArray())
|
||||||
|
|
||||||
|
app.advanceTimeBy(days)
|
||||||
|
|
||||||
|
store.forEach {item ->
|
||||||
|
assertThat(item.quality).isGreaterThanOrEqualTo(0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun givenKnownItemExcepSulfuras_afterAnyNumberOfDays_shouldHaveQualityLessThanOrEqualToFifty() {
|
||||||
|
val days = generateRandomNumber()
|
||||||
|
store = store.filter { it.name != "Sulfuras, Hand of Ragnaros" }
|
||||||
|
val app = GildedRose(store.toTypedArray())
|
||||||
|
|
||||||
|
app.advanceTimeBy(days)
|
||||||
|
|
||||||
|
store.forEach {item ->
|
||||||
|
assertThat(item.quality).isLessThanOrEqualTo(50)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user