mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
First unit tests + update directory for ci
This commit is contained in:
parent
1a6a489773
commit
8bb15c58dc
2
.github/workflows/gradle.yml
vendored
2
.github/workflows/gradle.yml
vendored
@ -20,7 +20,7 @@ jobs:
|
||||
java-version: '11'
|
||||
distribution: 'adopt'
|
||||
- name: Move to the correct folder
|
||||
run: cd kotlin
|
||||
run: cd Kotlin
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
- name: Run tests
|
||||
|
||||
@ -6,14 +6,64 @@ import org.junit.jupiter.api.Test
|
||||
internal class GildedRoseTest {
|
||||
|
||||
@Test
|
||||
fun foo() {
|
||||
val items = arrayOf<Item>(Item("foo", 0, 0))
|
||||
internal fun `regular item decreases as expected`() {
|
||||
val items = arrayOf(Item("foo", 1, 1))
|
||||
val app = GildedRose(items)
|
||||
app.updateQuality()
|
||||
assertEquals("fixme", app.items[0].name)
|
||||
|
||||
app.assertQualityAndSellIn(
|
||||
expectedSellIn = 0,
|
||||
expectedQuality = 0
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun `Quality decreases twice as fast after expiry date passed`() {
|
||||
val item = Item("foo", 0, 2)
|
||||
val app = GildedRose(arrayOf(item))
|
||||
app.updateQuality()
|
||||
|
||||
app.assertQualityAndSellIn(
|
||||
expectedSellIn = -1,
|
||||
expectedQuality = 0
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun `Quality decreases normally when reaching sellIn date`() {
|
||||
val item = Item("foo", 1, 5)
|
||||
val app = GildedRose(arrayOf(item))
|
||||
app.updateQuality()
|
||||
|
||||
app.assertQualityAndSellIn(
|
||||
expectedSellIn = 0,
|
||||
expectedQuality = 4
|
||||
)
|
||||
|
||||
app.updateQuality()
|
||||
app.assertQualityAndSellIn(
|
||||
expectedSellIn = -1,
|
||||
expectedQuality = 2
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun `Quality decreases after sellin reached 0 and quality is 0`() {
|
||||
val item = Item("foo", 0, 2)
|
||||
val app = GildedRose(arrayOf(item))
|
||||
app.updateQuality()
|
||||
|
||||
app.assertQualityAndSellIn(
|
||||
expectedSellIn = -1,
|
||||
expectedQuality = 0
|
||||
)
|
||||
}
|
||||
|
||||
private fun GildedRose.assertQualityAndSellIn(expectedSellIn: Int, expectedQuality: Int, itemIndex: Int = 0) {
|
||||
val item = items[itemIndex]
|
||||
assertEquals(expectedSellIn, item.sellIn)
|
||||
assertEquals(expectedQuality, item.quality)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user