mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-10 12:11:20 +00:00
Unit Tests changes
This commit is contained in:
parent
5e8561a113
commit
715f6ae5c7
@ -2,34 +2,122 @@ package com.gildedrose;
|
|||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import static com.gildedrose.GildedRoseConstants.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
||||||
|
|
||||||
public class GildedRoseTest {
|
public class GildedRoseTest {
|
||||||
@Test
|
@Test
|
||||||
void agedBrieIncreasesInQuality() {
|
void normalItemDegradesQuality() {
|
||||||
Item[] items = new Item[] { new Item(AGED_BRIE, 2, 0) };
|
Item item = new Item("Normal Item", 10, 20);
|
||||||
GildedRose app = new GildedRose(items);
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
app.updateQuality();
|
app.updateQuality();
|
||||||
assertEquals(1, items[0].quality);
|
assertEquals(9, item.sellIn);
|
||||||
assertEquals(1, items[0].sellIn);
|
assertEquals(19, item.quality);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void sulfurasDoesNotChange() {
|
void normalItemDegradesTwiceAfterSellIn() {
|
||||||
Item[] items = new Item[] { new Item(SULFURAS, 0, 80) };
|
Item item = new Item("Normal Item", 0, 20);
|
||||||
GildedRose app = new GildedRose(items);
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
app.updateQuality();
|
app.updateQuality();
|
||||||
assertEquals(80, items[0].quality);
|
assertEquals(-1, item.sellIn);
|
||||||
assertEquals(0, items[0].sellIn);
|
assertEquals(18, item.quality);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void backstagePassIncreasesCorrectly() {
|
void agedBrieIncreasesQuality() {
|
||||||
Item[] items = new Item[] { new Item(BACKSTAGE_PASS, 5, 10) };
|
Item item = new Item("Aged Brie", 2, 0);
|
||||||
GildedRose app = new GildedRose(items);
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
app.updateQuality();
|
app.updateQuality();
|
||||||
assertEquals(13, items[0].quality);
|
assertEquals(1, item.sellIn);
|
||||||
assertEquals(4, items[0].sellIn);
|
assertEquals(1, item.quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void agedBrieIncreasesQualityTwiceAfterSellIn() {
|
||||||
|
Item item = new Item("Aged Brie", 0, 0);
|
||||||
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(-1, item.sellIn);
|
||||||
|
assertEquals(2, item.quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void qualityNeverMoreThanFifty() {
|
||||||
|
Item item = new Item("Aged Brie", 1, 50);
|
||||||
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(0, item.sellIn);
|
||||||
|
assertEquals(50, item.quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void sulfurasNeverChanges() {
|
||||||
|
Item item = new Item("Sulfuras, Hand of Ragnaros", 0, 80);
|
||||||
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(0, item.sellIn);
|
||||||
|
assertEquals(80, item.quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void backstagePassIncreasesByOneOverTenDays() {
|
||||||
|
Item item = new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20);
|
||||||
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(14, item.sellIn);
|
||||||
|
assertEquals(21, item.quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void backstagePassIncreasesByTwoTenToSixDays() {
|
||||||
|
Item item = new Item("Backstage passes to a TAFKAL80ETC concert", 10, 20);
|
||||||
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(9, item.sellIn);
|
||||||
|
assertEquals(22, item.quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void backstagePassIncreasesByThreeFiveToOneDays() {
|
||||||
|
Item item = new Item("Backstage passes to a TAFKAL80ETC concert", 5, 20);
|
||||||
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(4, item.sellIn);
|
||||||
|
assertEquals(23, item.quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void backstagePassDropsToZeroAfterConcert() {
|
||||||
|
Item item = new Item("Backstage passes to a TAFKAL80ETC concert", 0, 20);
|
||||||
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(-1, item.sellIn);
|
||||||
|
assertEquals(0, item.quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void conjuredItemDegradesTwiceAsFast() {
|
||||||
|
Item item = new Item("Conjured Mana Cake", 3, 6);
|
||||||
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(2, item.sellIn);
|
||||||
|
assertEquals(4, item.quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void conjuredItemDegradesTwiceAsFastAfterSellIn() {
|
||||||
|
Item item = new Item("Conjured Mana Cake", 0, 6);
|
||||||
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(-1, item.sellIn);
|
||||||
|
assertEquals(2, item.quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void qualityNeverNegative() {
|
||||||
|
Item item = new Item("Normal Item", 5, 0);
|
||||||
|
GildedRose app = new GildedRose(new Item[]{item});
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(0, item.quality);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user