diff --git a/Java/README.md b/Java/README.md index 63bb5e63..90542d9c 100644 --- a/Java/README.md +++ b/Java/README.md @@ -15,7 +15,7 @@ -[x] "Aged Brie" actually increases in Quality the older it gets -[x] The Quality of an item is never more than 50 -[x] "Sulfuras", being a legendary item, never has to be sold or decreases in Quality --[ ] "Backstage passes", like aged brie, increases in Quality as its SellIn value approaches; +-[x] "Backstage passes", like aged brie, increases in Quality as its SellIn value approaches; -[ ] Quality increases by 2 when there are 10 days or less and by 3 when there are 5 days or less but -[ ] Quality drops to 0 after the concert -[ ] an item can never have its Quality increase above 50, however "Sulfuras" is a legendary item and as such its Quality is 80 and it never alters. diff --git a/Java/src/test/java/com/gildedrose/GildedRoseTest.java b/Java/src/test/java/com/gildedrose/GildedRoseTest.java index 52cd817e..1eac5f30 100644 --- a/Java/src/test/java/com/gildedrose/GildedRoseTest.java +++ b/Java/src/test/java/com/gildedrose/GildedRoseTest.java @@ -91,7 +91,7 @@ public class GildedRoseTest { //Sulfuras, Hand of Ragnaros @Test @DisplayName("\"Sulfuras\", being a legendary item, never has to be sold or decreases in Quality") - public void should(){ + public void shouldNotChangeSulfurasSellInAndQualityValues(){ Item[] items = new Item[]{TestHelper.getItem("Sulfuras, Hand of Ragnaros", 0, 10)}; GildedRose app = new GildedRose(items); @@ -106,4 +106,21 @@ public class GildedRoseTest { assertEquals(0, app.items[0].sellIn); } + @Test + @DisplayName("\"Backstage passes\", like aged brie, increases in Quality as its SellIn value approaches") + public void shouldDo(){ + Item[] items = new Item[]{TestHelper.getItem("Backstage passes to a TAFKAL80ETC concert", 5, 10)}; + GildedRose app = new GildedRose(items); + + //day 1, increase by 3 the quality + app.updateQuality(); + assertEquals(13, app.items[0].quality); + assertEquals(4, app.items[0].sellIn); + + //day 1, increase by 3 the quality + app.updateQuality(); + assertEquals(16, app.items[0].quality); + assertEquals(3, app.items[0].sellIn); + } + }