From e4d684019845cf69f7aa88d19bbd7b65686f40df Mon Sep 17 00:00:00 2001 From: Richard Xu Date: Thu, 22 Dec 2022 11:39:39 -0500 Subject: [PATCH] Add backstagePasses tests --- .../main/java/com/gildedrose/GildedRose.java | 8 +++-- .../java/com/gildedrose/GildedRoseTest.java | 35 +++++++++++++++++++ 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index 4b33e034..338a8d80 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -3,6 +3,8 @@ package com.gildedrose; class GildedRose { public static final String AGED_BRIE = "Aged Brie"; public static final String SULFURAS = "Sulfuras, Hand of Ragnaros"; + public static final String BACKSTAGE_PASSES = "Backstage passes to a TAFKAL80ETC concert"; + Item[] items; @@ -13,7 +15,7 @@ class GildedRose { public void updateQuality() { for (int i = 0; i < items.length; i++) { if (!items[i].name.equals(AGED_BRIE) - && !items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { + && !items[i].name.equals(BACKSTAGE_PASSES)) { if (items[i].quality > 0) { if (!items[i].name.equals(SULFURAS)) { items[i].quality = items[i].quality - 1; @@ -23,7 +25,7 @@ class GildedRose { if (items[i].quality < 50) { items[i].quality = items[i].quality + 1; - if (items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { + if (items[i].name.equals(BACKSTAGE_PASSES)) { if (items[i].sellIn < 11) { if (items[i].quality < 50) { items[i].quality = items[i].quality + 1; @@ -45,7 +47,7 @@ class GildedRose { if (items[i].sellIn < 0) { if (!items[i].name.equals(AGED_BRIE)) { - if (!items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { + if (!items[i].name.equals(BACKSTAGE_PASSES)) { if (items[i].quality > 0) { if (!items[i].name.equals(SULFURAS)) { items[i].quality = items[i].quality - 1; diff --git a/Java/src/test/java/com/gildedrose/GildedRoseTest.java b/Java/src/test/java/com/gildedrose/GildedRoseTest.java index 46facc69..1c5d364f 100644 --- a/Java/src/test/java/com/gildedrose/GildedRoseTest.java +++ b/Java/src/test/java/com/gildedrose/GildedRoseTest.java @@ -44,4 +44,39 @@ class GildedRoseTest { app.updateQuality(); assertEquals(app.items[0].quality, SULFURAS_QUALITY); } + + @Test + public void backstagePassesQualityIncreasesByTwoWhenThereAreTenDaysOrLessBeforeTheConcert() { + int quality = 0; + Item[] items = new Item[] { new Item(GildedRose.BACKSTAGE_PASSES, 10, quality) }; + GildedRose app = new GildedRose(items); + app.updateQuality(); + assertEquals(app.items[0].quality, 2); + app.updateQuality(); + assertEquals(app.items[0].quality, 4); + } + + @Test + public void backstagePassesQualityIncreasesByThreeWhenThereAreFiveDaysOrLessBeforeTheConcert() { + int quality = 0; + Item[] items = new Item[] { new Item(GildedRose.BACKSTAGE_PASSES, 5, quality) }; + GildedRose app = new GildedRose(items); + app.updateQuality(); + assertEquals(app.items[0].quality, 3); + app.updateQuality(); + assertEquals(app.items[0].quality, 6); + app.updateQuality(); + assertEquals(app.items[0].quality, 9); + } + + @Test + public void backstagePassesQualityDropsToZeroAfterTheConcert() { + int quality = 10; + Item[] items = new Item[] { new Item(GildedRose.BACKSTAGE_PASSES, 1, quality) }; + GildedRose app = new GildedRose(items); + app.updateQuality(); + assertEquals(app.items[0].quality, 13); + app.updateQuality(); + assertEquals(app.items[0].quality, 0); + } }