GildedRose-Refactoring-Kata/Java/src/test/java/com/gildedrose/GildedRoseTest.java
2020-08-13 15:17:34 +08:00

169 lines
4.9 KiB
Java

package com.gildedrose;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class GildedRoseTest {
@Test
void foo() {
Item[] items = new Item[] { new Item("foo", 0, 0) };
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals("fixme", app.items[0].name);
}
// copy-paste from https://gist.github.com/adelatorrefoss/ebc658b3e0054913dced80c8fe384de0
@Test
public void quality_never_is_negative() {
Item[] items = new Item[]{new Item("foo", 0, 0)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(0, app.items[0].quality);
}
@Test
public void sulfuras_could_not_be_sold() {
Item[] items = new Item[]{new Item("Sulfuras, Hand of Ragnaros", 10, 0)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(10, app.items[0].sellIn);
}
@Test
public void sulfuras_could_not_decrease_quality() {
Item[] items = new Item[]{new Item("Sulfuras, Hand of Ragnaros", 10, 10)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(10, app.items[0].quality);
}
@Test
public void quality_could_not_be_more_than_fifty() {
Item[] items = new Item[]{new Item("Aged Brie", 10, 50)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(50, app.items[0].quality);
}
@Test
public void item_with_date_passed_quality_decrease_by_twice() {
Item[] items = new Item[]{new Item("foo", -1, 40)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(38, app.items[0].quality);
}
@Test
public void aged_brie_increase_quality_when_it_gets_older() {
Item[] items = new Item[]{new Item("Aged Brie", 1, 40)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(41, app.items[0].quality);
}
@Test
public void aged_brie_increase_by_two_quality_when_date_passed() {
Item[] items = new Item[]{new Item("Aged Brie", -1, 40)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(42, app.items[0].quality);
}
@Test
public void aged_brie_increase_by_two_quality_when_date_passed_and_not_more_than_fifty() {
Item[] items = new Item[]{new Item("Aged Brie", -1, 50)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(50, app.items[0].quality);
}
@Test
public void backstage_passes_increase_quality_by_two_when_sellin_less_than_ten() {
Item[] items = new Item[]{new Item("Backstage passes to a TAFKAL80ETC concert", 10, 40)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(42, app.items[0].quality);
}
@Test
public void backstage_passes_increase_quality_by_two_when_sellin_less_than_six() {
Item[] items = new Item[]{new Item("Backstage passes to a TAFKAL80ETC concert", 6, 40)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(42, app.items[0].quality);
}
@Test
public void backstage_passes_increase_quality_by_three_when_sellin_less_than_five() {
Item[] items = new Item[]{new Item("Backstage passes to a TAFKAL80ETC concert", 5, 40)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(43, app.items[0].quality);
}
@Test
public void backstage_passes_increase_quality_by_two_when_sellin_less_than_six_and_not_more_than_fifty() {
Item[] items = new Item[]{new Item("Backstage passes to a TAFKAL80ETC concert", 6, 49)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(50, app.items[0].quality);
}
@Test
public void backstage_passes_increase_quality_by_three_when_sellin_less_than_five_and_not_more_than_fifty() {
Item[] items = new Item[]{new Item("Backstage passes to a TAFKAL80ETC concert", 5, 48)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(50, app.items[0].quality);
}
@Test
public void backstage_passes_quality_drops_to_zero_after_concert() {
Item[] items = new Item[]{new Item("Backstage passes to a TAFKAL80ETC concert", 0, 40)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(0, app.items[0].quality);
}
@Test
public void backstage_passes_quality_increase_quality_by_one_when_date_is_more_than_10() {
Item[] items = new Item[]{new Item("Backstage passes to a TAFKAL80ETC concert", 11, 40)};
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(41, app.items[0].quality);
}
}