Add Unit Tests to initial cases

This commit is contained in:
Roberto de la Banda 2021-09-11 11:56:49 +02:00
parent 07fd22c008
commit b877660aec

View File

@ -8,10 +8,63 @@ class GildedRoseTest {
@Test
void foo() {
Item[] items = new Item[] { new Item("foo", 0, 0) };
Item[] items = new Item[]{new Item("foo", 0, 0)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals("foo", app.items[0].name);
}
@Test
void degradesTwiceAsFastAfterSellInDateHasPassed() {
Item[] items = new Item[]{new Item("foo", 0, 2)};
new GildedRose(items).updateQuality();
assertEquals(0, items[0].quality);
}
@Test
void neverMustHaveNegativeQuality() {
Item[] items = new Item[]{new Item("foo", 0, 0)};
new GildedRose(items).updateQuality();
assertEquals(0, items[0].quality);
}
@Test
void increaseAgedBrieQualityWhenItGetsOlder() {
Item[] items = new Item[]{new Item("Aged Brie", 0, 2)};
new GildedRose(items).updateQuality();
assertEquals(4, items[0].quality);
}
@Test
void neverMustHaveAnItemWithMoreThan50OfQuality() {
Item[] items = new Item[]{new Item("Aged Brie", 0, 50)};
new GildedRose(items).updateQuality();
assertEquals(50, items[0].quality);
}
@Test
void neverModifySulfurasQuality() {
Item[] items = new Item[]{new Item("Sulfuras, Hand of Ragnaros", 0, 50)};
new GildedRose(items).updateQuality();
assertEquals(50, items[0].quality);
}
@Test
void neverModifySulfurasQualityEvenISGreaterThan50() {
Item[] items = new Item[]{new Item("Sulfuras, Hand of Ragnaros", 0, 80)};
new GildedRose(items).updateQuality();
assertEquals(80, items[0].quality);
}
@Test
void mustIncreaseBackstagePassesQualityWhenItsSellInApproaches() {
Item[] items = new Item[]{new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20),
new Item("Backstage passes to a TAFKAL80ETC concert", 10, 20),
new Item("Backstage passes to a TAFKAL80ETC concert", 5, 20)};
new GildedRose(items).updateQuality();
assertEquals(21, items[0].quality);
assertEquals(22, items[1].quality);
assertEquals(23, items[2].quality);
}
}