From 2baced7d9497f72c516ec005e1199235674cef04 Mon Sep 17 00:00:00 2001 From: Kirti Deshmukh Date: Fri, 3 Feb 2023 06:59:59 +0530 Subject: [PATCH] add parameterized test --- .../java/com/gildedrose/GildedRoseTest.java | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/Java/src/test/java/com/gildedrose/GildedRoseTest.java b/Java/src/test/java/com/gildedrose/GildedRoseTest.java index daaf0a8f..26e5ae17 100644 --- a/Java/src/test/java/com/gildedrose/GildedRoseTest.java +++ b/Java/src/test/java/com/gildedrose/GildedRoseTest.java @@ -1,19 +1,30 @@ package com.gildedrose; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.assertEquals; class GildedRoseTest { - @Test - void shouldDegradeQualityForAnItem() { - Item[] items = new Item[]{new Item("Normal Item", 0, 0)}; - GildedRose app = new GildedRose(items); - app.updateQuality(); - assertEquals("Normal Item", app.items[0].name); - assertEquals(-1, app.items[0].sellIn); - assertEquals(0, app.items[0].quality); + private static Stream provideInputWhereSellInDayPassesByOneDay() { + + return Stream.of( + Arguments.of(new GildedRose(new Item[]{new Item("Normal Item", 0, 0)}), "Normal Item", -1, 0) + ); + } + + @ParameterizedTest + @MethodSource("provideInputWhereSellInDayPassesByOneDay") + void shouldDegradeQualityForAnItem(GildedRose gildedRose, String expectedName, int expectedSellIn, int expectedQuality) { + gildedRose.updateQuality(); + assertEquals(expectedName, gildedRose.items[0].name); + assertEquals(expectedSellIn, gildedRose.items[0].sellIn); + assertEquals(expectedQuality, gildedRose.items[0].quality); } }