GildedRose-Refactoring-Kata/Java/src/test/java/com/gildedrose/GildedRoseTest.java
Bjorn Misseghers abef4b8fd6 Add tests to the main test class for the
conjured mana cake
2021-04-13 11:28:36 +02:00

127 lines
4.3 KiB
Java

package com.gildedrose;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class GildedRoseTest {
@Test
void foo() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("foo", 0, 0));
assertEquals("foo", app.items[0].name);
}
@Test
void testDexterityVest() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("+5 Dexterity Vest", 10, 20));
assertEquals(9, app.items[0].sellIn);
assertEquals(19, app.items[0].quality);
}
@Test
void testDexterityVestZeroQuality() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("+5 Dexterity Vest", 10, 1));
assertEquals(9, app.items[0].sellIn);
assertEquals(0, app.items[0].quality);
}
@Test
void testDexterityVestNotNegativeQuality() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("+5 Dexterity Vest", 10, -1));
assertEquals(9, app.items[0].sellIn);
assertEquals(0, app.items[0].quality);
}
@Test
void testAgedBrie() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Aged Brie", 2, 0));
assertEquals(1, app.items[0].sellIn);
assertEquals(1, app.items[0].quality);
}
@Test
void testAgedBrieMaxQuality() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Aged Brie", 2, 49));
assertEquals(1, app.items[0].sellIn);
assertEquals(50, app.items[0].quality);
}
@Test
void testAgedBrieDontPassMaxQuality() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Aged Brie", 2, 99));
assertEquals(1, app.items[0].sellIn);
assertEquals(50, app.items[0].quality);
}
@Test
void testElixirOfMongoose() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Elixir of the Mongoose", 5, 7));
assertEquals(4, app.items[0].sellIn);
assertEquals(6, app.items[0].quality);
}
@Test
void testSulfuras() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Sulfuras, Hand of Ragnaros", 0, 80));
assertEquals(0, app.items[0].sellIn);
assertEquals(80, app.items[0].quality);
}
@Test
void testSulfurasExpired() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Sulfuras, Hand of Ragnaros", -1, 80));
assertEquals(-1, app.items[0].sellIn);
assertEquals(80, app.items[0].quality);
}
@Test
void testBackstagePasses15() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20));
assertEquals(14, app.items[0].sellIn);
assertEquals(21, app.items[0].quality);
}
@Test
void testBackstagePasses10DaysLeftMaxQuality() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Backstage passes to a TAFKAL80ETC concert", 10, 49));
assertEquals(9, app.items[0].sellIn);
assertEquals(50, app.items[0].quality);
}
@Test
void testBackstagePasses10DaysLeftIncreaseTwoQuality() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Backstage passes to a TAFKAL80ETC concert", 10, 40));
assertEquals(9, app.items[0].sellIn);
assertEquals(42, app.items[0].quality);
}
@Test
void testBackstagePasses5DaysLeftMaxQuality() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Backstage passes to a TAFKAL80ETC concert", 5, 48));
assertEquals(4, app.items[0].sellIn);
assertEquals(50, app.items[0].quality);
}
@Test
void testBackstagePasses5DaysIncreaseTwoQuality() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Backstage passes to a TAFKAL80ETC concert", 5, 40));
assertEquals(4, app.items[0].sellIn);
assertEquals(43, app.items[0].quality);
}
@Test
void testConjuredManaCake() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Conjured Mana Cake", 3, 6));
assertEquals(2, app.items[0].sellIn);
assertEquals(4, app.items[0].quality);
}
@Test
void testConjuredManaCakeExpired() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Conjured Mana Cake", 0, 6));
assertEquals(-1, app.items[0].sellIn);
assertEquals(2, app.items[0].quality);
}
}