mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 06:21:29 +00:00
creates tests
This commit is contained in:
parent
6f972d0c5f
commit
56f0c5d5f8
@ -2,16 +2,158 @@ package com.gildedrose;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import com.gildedrose.item.Item;
|
||||
import org.junit.Test;
|
||||
|
||||
public class GildedRoseTest {
|
||||
|
||||
@Test
|
||||
public void foo() {
|
||||
Item[] items = new Item[] { new Item("foo", 0, 0) };
|
||||
GildedRose app = new GildedRose(items);
|
||||
GildedRose app = newGildedRose("foo", 0, 0);
|
||||
|
||||
app.updateQuality();
|
||||
assertEquals("fixme", app.items[0].name);
|
||||
|
||||
assertEquals("foo", app.items[0].name);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void standardItemDecreasesSellByDayNumberEachTime() {
|
||||
GildedRose app = newGildedRose("standard item", 0, 0);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(-1, itemSellByDayNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void brieDecreasesSellByDayNumberEachTime() {
|
||||
GildedRose app = newGildedRose("Aged Brie", 0, 0);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(-1, itemSellByDayNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void backstagePassesItemDecreasesSellByDayNumberEachTime() {
|
||||
GildedRose app = newGildedRose("Backstage passes to a TAFKAL80ETC concert", 0, 0);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(-1, itemSellByDayNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void sulfurasItemDoesNotDecreaseSellByDayNumberEachTime() {
|
||||
GildedRose app = newGildedRose("Sulfuras, Hand of Ragnaros", 0, 0);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(0, itemSellByDayNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void brieIncreasesInQualityEachTime() {
|
||||
GildedRose app = newGildedRose("Aged Brie", 1, 1);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(2, itemQualityNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void brieQualityCannotGoAboveFiftyWhenIncreasing() {
|
||||
GildedRose app = newGildedRose("Aged Brie", 1, 49);
|
||||
|
||||
app.updateQuality();
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(50, itemQualityNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void backstagePassesItemDecreasesQualityByOneIfSellByDayMoreThanEleven() {
|
||||
GildedRose app = newGildedRose("Backstage passes to a TAFKAL80ETC concert", 12, 1);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(2, itemQualityNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void backstagePassesItemDecreasesQualityByTwoIfSellByDayLessThanEleven() {
|
||||
GildedRose app = newGildedRose("Backstage passes to a TAFKAL80ETC concert", 10, 1);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(3, itemQualityNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void backstagePassesItemDecreasesQualityByThreeIfSellByDayLessThanSix() {
|
||||
GildedRose app = newGildedRose("Backstage passes to a TAFKAL80ETC concert", 5, 1);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(4, itemQualityNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void backstagePassesItemQualityDropsToZeroIfSellByDayHasPassed() {
|
||||
GildedRose app = newGildedRose("Backstage passes to a TAFKAL80ETC concert", 0,50);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(0, itemQualityNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void normalItemDecreasesQualityByOneIfSellByDayIsAboveZero() {
|
||||
GildedRose app = newGildedRose("foo", 2, 1);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(0, itemQualityNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void normalItemDecreasesQualityByTwoOnceSellByDayHasPassed() {
|
||||
GildedRose app = newGildedRose("foo",0, 5);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(3, itemQualityNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void normalItemCannotHaveQualityBelowZero() {
|
||||
GildedRose app = newGildedRose("foo", 0, 0);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(0, itemQualityNumber(app));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void nothingHappensToSulfurasItem() {
|
||||
GildedRose app = newGildedRose("Sulfuras, Hand of Ragnaros", 1, 1);
|
||||
|
||||
app.updateQuality();
|
||||
|
||||
assertEquals(1, itemQualityNumber(app));
|
||||
assertEquals(1, itemSellByDayNumber(app));
|
||||
}
|
||||
|
||||
private GildedRose newGildedRose(String itemName, int itemSellIn, int itemQuality) {
|
||||
Item[] items = new Item[] { new Item(itemName, itemSellIn, itemQuality)};
|
||||
return new GildedRose(items);
|
||||
}
|
||||
|
||||
private int itemSellByDayNumber(GildedRose app) {
|
||||
return app.items[0].sellIn;
|
||||
}
|
||||
|
||||
private int itemQualityNumber(GildedRose app) {
|
||||
return app.items[0].quality;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user