mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 06:21:29 +00:00
Add unit tests for quality of Aged Brie
This commit is contained in:
parent
7db88cf003
commit
02df1d974c
@ -85,4 +85,30 @@ class QualityTest {
|
|||||||
val expectedQuality = (initialItemQuality - days * 2).coerceAtLeast(0)
|
val expectedQuality = (initialItemQuality - days * 2).coerceAtLeast(0)
|
||||||
assertThat(item.quality).isEqualTo(expectedQuality)
|
assertThat(item.quality).isEqualTo(expectedQuality)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun givenAgedBrie_afterAnyNumberOfDays_shouldIncreaseQualityByNumberOfDays() {
|
||||||
|
val days = generateRandomNumber()
|
||||||
|
val item = Item("Aged Brie", generateRandomNumber(), (0..50).shuffled().last())
|
||||||
|
val initialItemQuality = item.quality
|
||||||
|
val app = GildedRose(arrayOf(item))
|
||||||
|
|
||||||
|
app.advanceTimeBy(days)
|
||||||
|
|
||||||
|
val expectedQuality = (initialItemQuality + days).coerceAtMost(50)
|
||||||
|
assertThat(item.quality).isEqualTo(expectedQuality)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun givenBackstagePass_afterAnyNumberOfDays_shouldIncreaseQualityByNumberOfDays() {
|
||||||
|
val days = generateRandomNumber()
|
||||||
|
val item = Item("Backstage passes to a TAFKAL80ETC concert", generateRandomNumber(), (0..50).shuffled().last())
|
||||||
|
val initialItemQuality = item.quality
|
||||||
|
val app = GildedRose(arrayOf(item))
|
||||||
|
|
||||||
|
app.advanceTimeBy(days)
|
||||||
|
|
||||||
|
val expectedQuality = (initialItemQuality + days).coerceAtMost(50)
|
||||||
|
assertThat(item.quality).isEqualTo(expectedQuality)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
SPECS
|
SPECS
|
||||||
LOGIC
|
LOGIC
|
||||||
# - sellIn decreases every day
|
# - sellIn decreases every day
|
||||||
- Item.quality
|
# - Item.quality
|
||||||
# - is >= 0 && <= 50
|
# - is >= 0 && <= 50
|
||||||
# - decrements with number of days until sellIn is 0 then with the double of it
|
# - decrements with number of days until sellIn is 0 then with the double of it
|
||||||
- Sulfuras
|
# - Sulfuras
|
||||||
# sellIn = 0 // doesnt change
|
# sellIn = 0 // doesnt change
|
||||||
# quality is 80 and does not decrease
|
# quality is 80 and does not decrease
|
||||||
- AgedBrie increases in quality
|
# - AgedBrie increases in quality
|
||||||
- BackstagePasses
|
- BackstagePasses
|
||||||
increases in quality like AgedBrie
|
increases in quality like AgedBrie
|
||||||
sellIn <= 0 - quality = 0
|
sellIn <= 0 - quality = 0
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user