mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-04 09:11:39 +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 static com.gildedrose.GildedRoseConstants.*;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class GildedRoseTest {
|
||||
@Test
|
||||
void agedBrieIncreasesInQuality() {
|
||||
Item[] items = new Item[] { new Item(AGED_BRIE, 2, 0) };
|
||||
GildedRose app = new GildedRose(items);
|
||||
void normalItemDegradesQuality() {
|
||||
Item item = new Item("Normal Item", 10, 20);
|
||||
GildedRose app = new GildedRose(new Item[]{item});
|
||||
app.updateQuality();
|
||||
assertEquals(1, items[0].quality);
|
||||
assertEquals(1, items[0].sellIn);
|
||||
assertEquals(9, item.sellIn);
|
||||
assertEquals(19, item.quality);
|
||||
}
|
||||
|
||||
@Test
|
||||
void sulfurasDoesNotChange() {
|
||||
Item[] items = new Item[] { new Item(SULFURAS, 0, 80) };
|
||||
GildedRose app = new GildedRose(items);
|
||||
void normalItemDegradesTwiceAfterSellIn() {
|
||||
Item item = new Item("Normal Item", 0, 20);
|
||||
GildedRose app = new GildedRose(new Item[]{item});
|
||||
app.updateQuality();
|
||||
assertEquals(80, items[0].quality);
|
||||
assertEquals(0, items[0].sellIn);
|
||||
assertEquals(-1, item.sellIn);
|
||||
assertEquals(18, item.quality);
|
||||
}
|
||||
|
||||
@Test
|
||||
void backstagePassIncreasesCorrectly() {
|
||||
Item[] items = new Item[] { new Item(BACKSTAGE_PASS, 5, 10) };
|
||||
GildedRose app = new GildedRose(items);
|
||||
void agedBrieIncreasesQuality() {
|
||||
Item item = new Item("Aged Brie", 2, 0);
|
||||
GildedRose app = new GildedRose(new Item[]{item});
|
||||
app.updateQuality();
|
||||
assertEquals(13, items[0].quality);
|
||||
assertEquals(4, items[0].sellIn);
|
||||
assertEquals(1, item.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