mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 06:51:27 +00:00
Test that existing code meets the requirements
This commit is contained in:
parent
5ff91ae88e
commit
e2c4df0d5c
@ -7,11 +7,98 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
|
|||||||
class GildedRoseTest {
|
class GildedRoseTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void foo() {
|
void givenItem_whenUpdated_thenSellInDecrements() {
|
||||||
Item[] items = new Item[] { new Item("foo", 0, 0) };
|
Item[] items = new Item[] { new Item("foo", 0, 0) };
|
||||||
GildedRose app = new GildedRose(items);
|
GildedRose app = new GildedRose(items);
|
||||||
app.updateQuality();
|
app.updateQuality();
|
||||||
assertEquals("fixme", app.items[0].name);
|
assertEquals(-1, app.items[0].sellIn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenItem_whenUpdated_thenQualityDecrements() {
|
||||||
|
Item[] items = new Item[] { new Item("foo", 10, 10) };
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(9, app.items[0].quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenExpiredItem_whenUpdated_thenQualityDecrementsByTwo() {
|
||||||
|
Item[] items = new Item[] { new Item("foo", 0, 10) };
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(8, app.items[0].quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenItemWithZeroQuality_whenUpdated_thenQualityIsNeverNegative() {
|
||||||
|
Item[] items = new Item[] { new Item("foo", 0, 0) };
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(0, app.items[0].quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenAgedBrie_whenUpdated_thenQualityIncrements() {
|
||||||
|
Item[] items = new Item[] { new Item("Aged Brie", 10, 10) };
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(11, app.items[0].quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenAgedBrieWithQuality50_whenUpdated_thenQualityRemainsTheSame() {
|
||||||
|
Item[] items = new Item[] { new Item("Aged Brie", 10, 50) };
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(50, app.items[0].quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenLegendaryItem_whenUpdated_thenSellInStaysTheSame() {
|
||||||
|
Item[] items = new Item[] { new Item("Sulfuras, Hand of Ragnaros", 0, 80) };
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(0, app.items[0].sellIn);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenLegendaryItem_whenUpdated_thenQualityStaysTheSame() {
|
||||||
|
Item[] items = new Item[] { new Item("Sulfuras, Hand of Ragnaros", 0, 80) };
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(80, app.items[0].quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenBackstagePasses_whenUpdated_thenQualityIncrements() {
|
||||||
|
Item[] items = new Item[] { new Item("Backstage passes to a TAFKAL80ETC concert", 20, 10) };
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(11, app.items[0].quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenBackstagePassesWith10DaysToConcert_whenUpdated_thenQualityIncrementsByTwo() {
|
||||||
|
Item[] items = new Item[] { new Item("Backstage passes to a TAFKAL80ETC concert", 10, 10) };
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(12, app.items[0].quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenBackstagePassesWith5DaysToConcert_whenUpdated_thenQualityIncrementsByThree() {
|
||||||
|
Item[] items = new Item[] { new Item("Backstage passes to a TAFKAL80ETC concert", 5, 10) };
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(13, app.items[0].quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenBackstagePassesAfterTheConcert_whenUpdated_thenQualityIsZero() {
|
||||||
|
Item[] items = new Item[] { new Item("Backstage passes to a TAFKAL80ETC concert", 0, 10) };
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals(0, app.items[0].quality);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,19 +2,17 @@ package com.gildedrose;
|
|||||||
|
|
||||||
public class TexttestFixture {
|
public class TexttestFixture {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.out.println("OMGHAI!");
|
|
||||||
|
|
||||||
Item[] items = new Item[] {
|
Item[] items = new Item[]{
|
||||||
new Item("+5 Dexterity Vest", 10, 20), //
|
new Item("+5 Dexterity Vest", 10, 20), //
|
||||||
new Item("Aged Brie", 2, 0), //
|
new Item("Aged Brie", 2, 0), //
|
||||||
new Item("Elixir of the Mongoose", 5, 7), //
|
new Item("Elixir of the Mongoose", 5, 7), //
|
||||||
new Item("Sulfuras, Hand of Ragnaros", 0, 80), //
|
new Item("Sulfuras, Hand of Ragnaros", 0, 80), //
|
||||||
new Item("Sulfuras, Hand of Ragnaros", -1, 80),
|
new Item("Sulfuras, Hand of Ragnaros", -1, 80),
|
||||||
new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20),
|
new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20),
|
||||||
new Item("Backstage passes to a TAFKAL80ETC concert", 10, 49),
|
new Item("Backstage passes to a TAFKAL80ETC concert", 10, 49),
|
||||||
new Item("Backstage passes to a TAFKAL80ETC concert", 5, 49),
|
new Item("Backstage passes to a TAFKAL80ETC concert", 5, 49)
|
||||||
// this conjured item does not work properly yet
|
};
|
||||||
new Item("Conjured Mana Cake", 3, 6) };
|
|
||||||
|
|
||||||
GildedRose app = new GildedRose(items);
|
GildedRose app = new GildedRose(items);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user