Add sulfuras tests

This commit is contained in:
Richard Xu 2022-12-22 11:32:35 -05:00
parent 80020675b5
commit 5fb5da5a1e
2 changed files with 36 additions and 5 deletions

View File

@ -2,6 +2,8 @@ package com.gildedrose;
class GildedRose { class GildedRose {
public static final String AGED_BRIE = "Aged Brie"; public static final String AGED_BRIE = "Aged Brie";
public static final String SULFURAS = "Sulfuras, Hand of Ragnaros";
Item[] items; Item[] items;
public GildedRose(Item[] items) { public GildedRose(Item[] items) {
@ -13,7 +15,7 @@ class GildedRose {
if (!items[i].name.equals(AGED_BRIE) if (!items[i].name.equals(AGED_BRIE)
&& !items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { && !items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) {
if (items[i].quality > 0) { 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; 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; 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(AGED_BRIE)) {
if (!items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { if (!items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) {
if (items[i].quality > 0) { 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; items[i].quality = items[i].quality - 1;
} }
} }

View File

@ -5,9 +5,9 @@ import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
class GildedRoseTest { class GildedRoseTest {
private static final int SULFURAS_QUALITY = 80;
@Test @Test
void agedBrieIncreasesInQualityByOneEachDay() { public void agedBrieIncreasesInQualityByOneEachDay() {
Item[] items = new Item[] { new Item(GildedRose.AGED_BRIE, 2, 0) }; Item[] items = new Item[] { new Item(GildedRose.AGED_BRIE, 2, 0) };
GildedRose app = new GildedRose(items); GildedRose app = new GildedRose(items);
app.updateQuality(); app.updateQuality();
@ -15,4 +15,33 @@ class GildedRoseTest {
app.updateQuality(); app.updateQuality();
assertEquals(app.items[0].quality, 2); 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);
}
} }