mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-14 22:21:20 +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
|
||||
|
||||
import com.gildedrose.core.TestUtils
|
||||
import com.gildedrose.core.TestUtils.generateRandomName
|
||||
import com.gildedrose.core.TestUtils.generateRandomNumber
|
||||
import com.gildedrose.core.TestUtils.pickRandomItem
|
||||
import com.gildedrose.core.advanceTimeBy
|
||||
@ -11,15 +10,36 @@ import org.junit.Test
|
||||
|
||||
class QualityTest {
|
||||
|
||||
private lateinit var store: Array<Item>
|
||||
private lateinit var store: List<Item>
|
||||
|
||||
@Before
|
||||
fun setUp() {
|
||||
store = TestUtils.fixture
|
||||
store = TestUtils.fixture.toList()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun name() {
|
||||
throw UnsupportedOperationException()
|
||||
fun givenKnownItemExcepSulfuras_afterAnyNumberOfDays_shouldHaveQualityGreaterThanOrEqualToZero() {
|
||||
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