mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 06:51:27 +00:00
added tests
This commit is contained in:
parent
bdcea60169
commit
6322ea1cf4
@ -14,6 +14,7 @@ repositories {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation(kotlin("stdlib"))
|
implementation(kotlin("stdlib"))
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter:5.8.2")
|
testImplementation("org.junit.jupiter:junit-jupiter:5.8.2")
|
||||||
|
testImplementation("org.assertj:assertj-core:3.21.0")
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.test {
|
tasks.test {
|
||||||
|
|||||||
@ -1,17 +1,100 @@
|
|||||||
package com.gildedrose
|
package com.gildedrose
|
||||||
|
|
||||||
import org.junit.jupiter.api.Assertions.assertEquals
|
import org.assertj.core.api.Assertions.assertThat
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
|
|
||||||
internal class GildedRoseTest {
|
internal class GildedRoseTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun foo() {
|
fun agedBrie_increasesInQuality() {
|
||||||
val items = arrayOf<Item>(Item("foo", 0, 0))
|
val item = Item("Aged Brie", 2, 2)
|
||||||
|
val app = GildedRose(arrayOf(item))
|
||||||
|
app.updateQuality()
|
||||||
|
assertThat(item.quality).isEqualTo(3)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun agedBrie_increasesInQualityBy2WhenSellInPasses() {
|
||||||
|
val item = Item("Aged Brie", -2, 2)
|
||||||
|
val app = GildedRose(arrayOf(item))
|
||||||
|
app.updateQuality()
|
||||||
|
assertThat(item.quality).isEqualTo(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun itemsExceptSulfurasQualityNeverNegative() {
|
||||||
|
val items = arrayOf(
|
||||||
|
Item("Aged Brie", 2, 0),
|
||||||
|
Item("Backstage passes to a TAFKAL80ETC concert", 1, 0),
|
||||||
|
)
|
||||||
val app = GildedRose(items)
|
val app = GildedRose(items)
|
||||||
app.updateQuality()
|
app.updateQuality()
|
||||||
assertEquals("fixme", app.items[0].name)
|
items.forEach { item ->
|
||||||
|
assertThat(item.quality).isGreaterThanOrEqualTo(0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun itemsExceptSulfurasQualityNeverGreaterThan50() {
|
||||||
|
val items = arrayOf(
|
||||||
|
Item("Aged Brie", 2, 50),
|
||||||
|
Item("Backstage passes to a TAFKAL80ETC concert", 1, 50),
|
||||||
|
)
|
||||||
|
val app = GildedRose(items)
|
||||||
|
app.updateQuality()
|
||||||
|
items.forEach { item ->
|
||||||
|
assertThat(item.quality).isLessThanOrEqualTo(50)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun decreaseValueOfAnItemByTheEndOfADay() {
|
||||||
|
val item = Item("Elixir of the Mongoose", 5, 7)
|
||||||
|
val app = GildedRose(arrayOf(item))
|
||||||
|
app.updateQuality()
|
||||||
|
assertThat(item.quality).isEqualTo(6)
|
||||||
|
assertThat(item.sellIn).isEqualTo(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun sulfurasNeverDecreaseQuality() {
|
||||||
|
val item = Item("Sulfuras, Hand of Ragnaros", 5, 80)
|
||||||
|
val app = GildedRose(arrayOf(item))
|
||||||
|
app.updateQuality()
|
||||||
|
assertThat(item.quality).isEqualTo(80)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun backStagePassesIncreasesQualityByTwoInside10Days() {
|
||||||
|
val item = Item("Backstage passes to a TAFKAL80ETC concert", 10, 4)
|
||||||
|
val app = GildedRose(arrayOf(item))
|
||||||
|
app.updateQuality()
|
||||||
|
assertThat(item.quality).isEqualTo(6)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun backStagePassesIncreasesQualityBy3Inside5Days() {
|
||||||
|
val item = Item("Backstage passes to a TAFKAL80ETC concert", 5, 4)
|
||||||
|
val app = GildedRose(arrayOf(item))
|
||||||
|
app.updateQuality()
|
||||||
|
assertThat(item.quality).isEqualTo(7)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun backStagePassesQualityGoesToZeroWhenSellInExpires() {
|
||||||
|
val item = Item("Backstage passes to a TAFKAL80ETC concert", 0, 4)
|
||||||
|
val app = GildedRose(arrayOf(item))
|
||||||
|
app.updateQuality()
|
||||||
|
assertThat(item.quality).isEqualTo(0)
|
||||||
|
assertThat(item.sellIn).isEqualTo(-1)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun decreaseQualityOfAnItemByTwoWhenSellDatePasses() {
|
||||||
|
val item = Item("Elixir of the Mongoose", -1, 7)
|
||||||
|
val app = GildedRose(arrayOf(item))
|
||||||
|
app.updateQuality()
|
||||||
|
assertThat(item.quality).isEqualTo(5)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user