Add tests for edge cases

This commit is contained in:
Bjorn Misseghers 2021-04-06 21:35:30 +02:00
parent d128595952
commit 8f6359ad93

View File

@ -19,6 +19,20 @@ class GildedRoseTest {
assertEquals(19, app.items[0].quality); 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 @Test
void testAgedBrie() { void testAgedBrie() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Aged Brie", 2, 0)); GildedRose app = GildedRoseAppTester.runFor(1, new Item("Aged Brie", 2, 0));
@ -26,6 +40,20 @@ class GildedRoseTest {
assertEquals(1, app.items[0].quality); 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 @Test
void testElixirOfMongoose() { void testElixirOfMongoose() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Elixir of the Mongoose", 5, 7)); GildedRose app = GildedRoseAppTester.runFor(1, new Item("Elixir of the Mongoose", 5, 7));
@ -55,19 +83,33 @@ class GildedRoseTest {
} }
@Test @Test
void testBackstagePasses10() { void testBackstagePasses10DaysLeftMaxQuality() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Backstage passes to a TAFKAL80ETC concert", 10, 49)); GildedRose app = GildedRoseAppTester.runFor(1, new Item("Backstage passes to a TAFKAL80ETC concert", 10, 49));
assertEquals(9, app.items[0].sellIn); assertEquals(9, app.items[0].sellIn);
assertEquals(50, app.items[0].quality); assertEquals(50, app.items[0].quality);
} }
@Test @Test
void testBackstagePasses5() { void testBackstagePasses10DaysLeftIncreaseTwoQuality() {
GildedRose app = GildedRoseAppTester.runFor(1, new Item("Backstage passes to a TAFKAL80ETC concert", 5, 49)); 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(4, app.items[0].sellIn);
assertEquals(50, app.items[0].quality); 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 // @Test
// void testConjuredManaCake() { // void testConjuredManaCake() {
// GildedRose app = GildedRoseAppTester.runFor(1, new Item("Conjured Mana Cake", 3, 6)); // GildedRose app = GildedRoseAppTester.runFor(1, new Item("Conjured Mana Cake", 3, 6));