From a32716843ed97a0b1bee1d2a0c10ccc1ab75f401 Mon Sep 17 00:00:00 2001 From: Richard Xu Date: Thu, 22 Dec 2022 11:50:43 -0500 Subject: [PATCH] Add sell-in date tests --- .../java/com/gildedrose/GildedRoseTest.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/Java/src/test/java/com/gildedrose/GildedRoseTest.java b/Java/src/test/java/com/gildedrose/GildedRoseTest.java index 5c000b8d..76d924b3 100644 --- a/Java/src/test/java/com/gildedrose/GildedRoseTest.java +++ b/Java/src/test/java/com/gildedrose/GildedRoseTest.java @@ -141,4 +141,52 @@ class GildedRoseTest { app.updateQuality(); assertEquals(app.items[0].quality, 1); } + + @Test + public void sellInDateDecreasesByOneEachDayForAgedBrie() { + Item[] items = new Item[] { new Item(GildedRose.AGED_BRIE, 5, 1) }; + GildedRose app = new GildedRose(items); + app.updateQuality(); + assertEquals(app.items[0].sellIn, 4); + app.updateQuality(); + assertEquals(app.items[0].sellIn, 3); + app.updateQuality(); + assertEquals(app.items[0].sellIn, 2); + } + + @Test + public void sellInDateDecreasesByOneEachDayForBackstagePasses() { + Item[] items = new Item[] { new Item(GildedRose.BACKSTAGE_PASSES, 5, 1) }; + GildedRose app = new GildedRose(items); + app.updateQuality(); + assertEquals(app.items[0].sellIn, 4); + app.updateQuality(); + assertEquals(app.items[0].sellIn, 3); + app.updateQuality(); + assertEquals(app.items[0].sellIn, 2); + } + + @Test + public void sellInDateDecreasesByOneEachDayForGenericItems() { + Item[] items = new Item[] { new Item("generic item", 5, 1) }; + GildedRose app = new GildedRose(items); + app.updateQuality(); + assertEquals(app.items[0].sellIn, 4); + app.updateQuality(); + assertEquals(app.items[0].sellIn, 3); + app.updateQuality(); + assertEquals(app.items[0].sellIn, 2); + } + + @Test + public void sellInDateCanBeNegative() { + Item[] items = new Item[] { new Item("generic item", 1, 1) }; + GildedRose app = new GildedRose(items); + app.updateQuality(); + assertEquals(app.items[0].sellIn, 0); + app.updateQuality(); + assertEquals(app.items[0].sellIn, -1); + app.updateQuality(); + assertEquals(app.items[0].sellIn, -2); + } }