Skip to content

Commit abb52bf

Browse files
committed
Add more tests for Backstage Pass quality corner cases
1 parent ae39ef9 commit abb52bf

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

Java/src/test/java/com/gildedrose/GildedRoseTest.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,34 @@ void qualityIncreasesBy3WhenSellInIsBetween5And0() {
127127
app.updateQuality();
128128
assertThat(backStagePass.quality).isEqualTo(13);
129129
}
130+
131+
@DisplayName("quality drops to 0 after the concert")
132+
@Test
133+
void qualityDropsTo0AfterTheConcert() {
134+
backStagePass.sellIn = 0;
135+
GildedRose app = createGildedRose(backStagePass);
136+
app.updateQuality();
137+
assertThat(backStagePass.quality).isEqualTo(0);
138+
}
139+
140+
@DisplayName("quality never goes below 0")
141+
@Test
142+
void qualityNeverGoesBelow0() {
143+
backStagePass.sellIn = 0;
144+
backStagePass.quality = 0;
145+
GildedRose app = createGildedRose(backStagePass);
146+
app.updateQuality();
147+
assertThat(backStagePass.quality).isEqualTo(0);
148+
}
149+
150+
@DisplayName("quality never exceeds 50")
151+
@Test
152+
void qualityNeverExceeds50() {
153+
backStagePass.quality = 50;
154+
GildedRose app = createGildedRose(backStagePass);
155+
app.updateQuality();
156+
assertThat(backStagePass.quality).isEqualTo(50);
157+
}
130158
}
131159

132160
@Nested

0 commit comments

Comments
 (0)