mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 06:51:27 +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'
|
java-version: '11'
|
||||||
distribution: 'adopt'
|
distribution: 'adopt'
|
||||||
- name: Move to the correct folder
|
- name: Move to the correct folder
|
||||||
run: cd kotlin
|
run: cd Kotlin
|
||||||
- name: Grant execute permission for gradlew
|
- name: Grant execute permission for gradlew
|
||||||
run: chmod +x gradlew
|
run: chmod +x gradlew
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
|
|||||||
@ -6,14 +6,64 @@ import org.junit.jupiter.api.Test
|
|||||||
internal class GildedRoseTest {
|
internal class GildedRoseTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun foo() {
|
internal fun `regular item decreases as expected`() {
|
||||||
val items = arrayOf<Item>(Item("foo", 0, 0))
|
val items = arrayOf(Item("foo", 1, 1))
|
||||||
val app = GildedRose(items)
|
val app = GildedRose(items)
|
||||||
app.updateQuality()
|
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