diff --git a/GildedRose.pdf b/GildedRose.pdf deleted file mode 100644 index 43962ee..0000000 Binary files a/GildedRose.pdf and /dev/null differ diff --git a/GildedRose_rules.pdf b/GildedRose_rules.pdf new file mode 100644 index 0000000..7a52cad Binary files /dev/null and b/GildedRose_rules.pdf differ diff --git a/bin/fi/oulu/tol/sqat/GildedRose.class b/bin/fi/oulu/tol/sqat/GildedRose.class index f244eba..b904cd2 100644 Binary files a/bin/fi/oulu/tol/sqat/GildedRose.class and b/bin/fi/oulu/tol/sqat/GildedRose.class differ diff --git a/bin/fi/oulu/tol/sqat/Item.class b/bin/fi/oulu/tol/sqat/Item.class index 478a739..86c608e 100644 Binary files a/bin/fi/oulu/tol/sqat/Item.class and b/bin/fi/oulu/tol/sqat/Item.class differ diff --git a/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class b/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class index e44e81c..9d2adea 100644 Binary files a/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class and b/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class differ diff --git a/src/fi/oulu/tol/sqat/GildedRose.java b/src/fi/oulu/tol/sqat/GildedRose.java index 8d48732..24741c6 100644 --- a/src/fi/oulu/tol/sqat/GildedRose.java +++ b/src/fi/oulu/tol/sqat/GildedRose.java @@ -8,27 +8,18 @@ public class GildedRose { private static List items = null; - /** - * @param args - */ - public static void main(String[] args) { - - System.out.println("OMGHAI!"); - - items = new ArrayList(); - items.add(new Item("+5 Dexterity Vest", 10, 20)); - items.add(new Item("Aged Brie", 2, 0)); - items.add(new Item("Elixir of the Mongoose", 5, 7)); - items.add(new Item("Sulfuras, Hand of Ragnaros", 0, 80)); - items.add(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); - items.add(new Item("Conjured Mana Cake", 3, 6)); - - updateQuality(); -} - - + public List getItems() { + return items; + } - public static void updateQuality() + public void addItem(Item item) { + items.add(item); + } + + public GildedRose() { + items = new ArrayList(); + } + public static void updateEndOfDay() { for (int i = 0; i < items.size(); i++) { diff --git a/src/fi/oulu/tol/sqat/Item.java b/src/fi/oulu/tol/sqat/Item.java index 900d2a1..447b7fe 100644 --- a/src/fi/oulu/tol/sqat/Item.java +++ b/src/fi/oulu/tol/sqat/Item.java @@ -2,9 +2,9 @@ public class Item { - public String name; - public int sellIn; - public int quality; + String name; + int sellIn; + int quality; public Item(String name, int sellIn, int quality) { this.setName(name); diff --git a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java index 04a5d2d..f3c4425 100644 --- a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java +++ b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java @@ -1,12 +1,473 @@ package fi.oulu.tol.sqat.tests; import static org.junit.Assert.*; + +import java.util.ArrayList; +import java.util.List; + import org.junit.Test; +import fi.oulu.tol.sqat.GildedRose; +import fi.oulu.tol.sqat.Item; + public class GildedRoseTest { +// Example scenarios for testing +// Item("+5 Dexterity Vest", 10, 20)); +// Item("Aged Brie", 2, 0)); +// Item("Elixir of the Mongoose", 5, 7)); +// Item("Sulfuras, Hand of Ragnaros", 0, 80)); +// Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); +// Item("Conjured Mana Cake", 3, 6)); + + @Test + public void testUpdateEndOfDay_AgedBrie_Quality_10_11() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Aged Brie", 2, 10) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(11, itemBrie.getQuality()); + } + + @Test + public void testUpdateEndOfDay_AgedBrie_Quality_0_1() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Aged Brie", 2, 0) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(1, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_AgedBrie_Quality_50_50() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Aged Brie", 2, 50) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(50, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_AgedBrie_Quality_80_wrong() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Aged Brie", 2, 80) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals("wrong, out of scope", itemBrie.getQuality()); + } + + + @Test + public void testUpdatedEndOfDay_AgedBrie_SellIn_0() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Aged Brie", 0, 49) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(50, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndedOfDay_AgedBrie_Quality_40_42(){ + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Aged Brie", -1, 40) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(42, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndedOfDay_AgedBrie__Quality_49_50(){ + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Aged Brie", -1, 49) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(50, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndedOfDay_AgedBrie_Quality_SmallerThan0(){ + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Aged Brie", 2, -1) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals("wrong, never be negtive", itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Sulfuras_Quality_80_80() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 1, 80) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(80, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Backstage_Quality_80_wrong() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 1, 80) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals("wrong", itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Backstage_Quality_20_21() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 12, 20) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(21, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Backstage_Quality_20_22_SellIn_10() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 10, 20) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(22, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Backstage_Quality_20_22_SellIn_6() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 6, 20) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(22, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Backstage_Quality_20_23_SellIn_5() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 5, 20) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(23, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Backstage_Quality_20_23_sellIn_3() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 3, 20) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(23, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Backstage_Quality_20_23_sellIn_0() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 0, 20) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(23, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Backstage_Quality_20_0_sellIn_smallerthan0() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", -2, 20) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(0, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Others_Quality_20_19() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Conjured Mana Cake", 2, 20) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(19, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Others_Quality_6_4() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Conjured Mana Cake", -2, 6) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(4, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Others_Quality_1_0() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Conjured Mana Cake", -2, 1) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(0, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_AgedBrie_SellIn_12_11() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Aged Brie", 12, 1) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(11, itemBrie.getSellIn()); + } + + @Test + public void testUpdatedEndOfDay_AgedBrie_SellIn_0_11() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Aged Brie", 0, 1) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(-1, itemBrie.getSellIn()); + } + + @Test + public void testUpdatedEndOfDay_Sulfuras_SellIn_80_80() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 80, 80) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(79, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Sulfuras_SellIn_0_80() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 0, 80) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(-1, itemBrie.getQuality()); + } + + @Test + public void testUpdatedEndOfDay_Backstage_SellIn_5() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 5, 20) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(4, itemBrie.getSellIn()); + } + + @Test + public void testUpdatedEndOfDay_Backstage_sellIn_3() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 3, 20) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(2, itemBrie.getSellIn()); + } + + @Test + public void testUpdatedEndOfDay_Backstage_sellIn_0() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 0, 20) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(-1, itemBrie.getSellIn()); + } + + @Test + public void testUpdatedEndOfDay_Backstage_sellIn_smallerthan0() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", -2, 20) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(-3, itemBrie.getSellIn()); + } + + @Test + public void testUpdatedEndOfDay_Others_SellIn_smallerthan0() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Conjured Mana Cake", -2, 6) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(-3, itemBrie.getSellIn()); + } + @Test - public void testTheTruth() { - assertTrue(true); + public void testUpdatedEndOfDay_Others_SellIn_2() { + // Arrange + GildedRose store = new GildedRose(); + store.addItem(new Item("Conjured Mana Cake", 2, 6) ); + + // Act + store.updateEndOfDay(); + + // Assert + List items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals(1, itemBrie.getSellIn()); } }