From b74a4608d47de2a43d36899fe6713c3fa7502787 Mon Sep 17 00:00:00 2001 From: "jiajun.chou" Date: Thu, 13 Aug 2020 21:24:35 +0800 Subject: [PATCH] Add test case --- .../java/com/gildedrose/GildedRoseTest.java | 146 +++++++++++++++++- 1 file changed, 144 insertions(+), 2 deletions(-) diff --git a/Java/src/test/java/com/gildedrose/GildedRoseTest.java b/Java/src/test/java/com/gildedrose/GildedRoseTest.java index 29a8b148..47c90513 100644 --- a/Java/src/test/java/com/gildedrose/GildedRoseTest.java +++ b/Java/src/test/java/com/gildedrose/GildedRoseTest.java @@ -6,11 +6,153 @@ import org.junit.jupiter.api.Test; class GildedRoseTest { @Test - void foo() { + public void quality_never_is_negative() { Item[] items = new Item[] {new Item("foo", 0, 0)}; GildedRose app = new GildedRose(items); + app.updateQuality(); - assertEquals("fixme", app.items[0].name); + + 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_quility_by_one_qhen_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); } }