test: The Quality of an item is never more than 50

This commit is contained in:
Konstantin Pavlov 2019-06-24 07:06:37 +02:00
parent 8445af69a4
commit fe2a19749b

View File

@ -8,6 +8,7 @@ import org.junit.jupiter.params.provider.ValueSource;
import static com.gildedrose.TestHelper.assertItem; import static com.gildedrose.TestHelper.assertItem;
import static com.gildedrose.TestHelper.prepareApp; import static com.gildedrose.TestHelper.prepareApp;
import static java.lang.Math.min;
import static org.apache.commons.lang3.RandomUtils.nextInt; import static org.apache.commons.lang3.RandomUtils.nextInt;
@ -58,8 +59,9 @@ class GildedRoseTest {
} }
@Feature("\"Aged Brie\" actually increases in Quality the older it gets") @Feature("\"Aged Brie\" actually increases in Quality the older it gets")
@Feature("The Quality of an item is never more than 50")
@ParameterizedTest(name = "Initial quality: {arguments}") @ParameterizedTest(name = "Initial quality: {arguments}")
@ValueSource(ints = {0, 1, 49}) @ValueSource(ints = {0, 1, 49, 50})
void shouldIncreaseQualityForAgedBrie(int initialQuality) { void shouldIncreaseQualityForAgedBrie(int initialQuality) {
// given // given
GildedRose app = prepareApp(new Item("Aged Brie", 1, initialQuality)); GildedRose app = prepareApp(new Item("Aged Brie", 1, initialQuality));
@ -69,6 +71,7 @@ class GildedRoseTest {
// then // then
final Item item = app.items[0]; final Item item = app.items[0];
assertItem(item, "Aged Brie", 0, initialQuality + 1); final int expectedQuality = min(initialQuality + 1, 50);
assertItem(item, "Aged Brie", 0, expectedQuality);
} }
} }