From 5fb5da5a1e1e2b13bd8107292a66eeab9d050be4 Mon Sep 17 00:00:00 2001 From: Richard Xu Date: Thu, 22 Dec 2022 11:32:35 -0500 Subject: [PATCH] Add sulfuras tests --- .../main/java/com/gildedrose/GildedRose.java | 8 +++-- .../java/com/gildedrose/GildedRoseTest.java | 33 +++++++++++++++++-- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index 48451ba1..4b33e034 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -2,6 +2,8 @@ package com.gildedrose; class GildedRose { public static final String AGED_BRIE = "Aged Brie"; + public static final String SULFURAS = "Sulfuras, Hand of Ragnaros"; + Item[] items; public GildedRose(Item[] items) { @@ -13,7 +15,7 @@ class GildedRose { if (!items[i].name.equals(AGED_BRIE) && !items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { if (items[i].quality > 0) { - if (!items[i].name.equals("Sulfuras, Hand of Ragnaros")) { + if (!items[i].name.equals(SULFURAS)) { items[i].quality = items[i].quality - 1; } } @@ -37,7 +39,7 @@ class GildedRose { } } - if (!items[i].name.equals("Sulfuras, Hand of Ragnaros")) { + if (!items[i].name.equals(SULFURAS)) { items[i].sellIn = items[i].sellIn - 1; } @@ -45,7 +47,7 @@ class GildedRose { if (!items[i].name.equals(AGED_BRIE)) { if (!items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { if (items[i].quality > 0) { - if (!items[i].name.equals("Sulfuras, Hand of Ragnaros")) { + 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 69465697..46facc69 100644 --- a/Java/src/test/java/com/gildedrose/GildedRoseTest.java +++ b/Java/src/test/java/com/gildedrose/GildedRoseTest.java @@ -5,9 +5,9 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; class GildedRoseTest { - + private static final int SULFURAS_QUALITY = 80; @Test - void agedBrieIncreasesInQualityByOneEachDay() { + public void agedBrieIncreasesInQualityByOneEachDay() { Item[] items = new Item[] { new Item(GildedRose.AGED_BRIE, 2, 0) }; GildedRose app = new GildedRose(items); app.updateQuality(); @@ -15,4 +15,33 @@ class GildedRoseTest { app.updateQuality(); assertEquals(app.items[0].quality, 2); } + + @Test + public void sulfurasSellInDateNeverChanges() { + int sellIn = 10; + Item[] items = new Item[] { new Item(GildedRose.SULFURAS, sellIn, SULFURAS_QUALITY) }; + GildedRose app = new GildedRose(items); + app.updateQuality(); + assertEquals(app.items[0].sellIn, sellIn); + app.updateQuality(); + assertEquals(app.items[0].sellIn, sellIn); + } + + @Test + public void sulfurasValueNeverChanges() { + Item[] items = new Item[] { new Item(GildedRose.SULFURAS, 10, SULFURAS_QUALITY) }; + GildedRose app = new GildedRose(items); + app.updateQuality(); + assertEquals(app.items[0].quality, SULFURAS_QUALITY); + app.updateQuality(); + assertEquals(app.items[0].quality, SULFURAS_QUALITY); + } + + @Test + public void sulfurasValueIsAlways80() { + Item[] items = new Item[] { new Item(GildedRose.SULFURAS, 10, SULFURAS_QUALITY) }; + GildedRose app = new GildedRose(items); + app.updateQuality(); + assertEquals(app.items[0].quality, SULFURAS_QUALITY); + } }