From 5172dceb7225b23c8f7129135cd4bd75769e314e Mon Sep 17 00:00:00 2001 From: jklockne Date: Fri, 9 Sep 2016 16:55:26 +0300 Subject: [PATCH 1/2] Project (lab2-ass2) finished --- .../oulu/tol/sqat/tests/GildedRoseTest.java | 114 +++++++++++++++++- 1 file changed, 112 insertions(+), 2 deletions(-) diff --git a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java index 7aceb2e..b76a212 100644 --- a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java +++ b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java @@ -11,6 +11,16 @@ import fi.oulu.tol.sqat.Item; public class GildedRoseTest { + private GildedRose store; + + public GildedRoseTest() { + store = new GildedRose(); + } + + private void storeElixirAndCake() { + store.addItem(new Item("Elixir of the Mongoose", 5, 7)); + store.addItem(new Item("Conjured Mana Cake", 3, 6)); + } // Example scenarios for testing // Item("+5 Dexterity Vest", 10, 20)); @@ -23,7 +33,6 @@ public class GildedRoseTest { @Test public void testUpdateEndOfDay_AgedBrie_Quality_10_11() { // Arrange - GildedRose store = new GildedRose(); store.addItem(new Item("Aged Brie", 2, 10) ); // Act @@ -34,9 +43,110 @@ public void testUpdateEndOfDay_AgedBrie_Quality_10_11() { Item itemBrie = items.get(0); assertEquals(11, itemBrie.getQuality()); } + + @Test + public void testUpdateEndOfDay_DexterityVest_Quality_20() { + store.addItem(new Item("+5 Dexterity Vest", 10, 20)); + List items = store.getItems(); + Item itemVest = items.get(0); + assertEquals(20, itemVest.getQuality()); + } + + @Test + public void testUpdateEndOfDay_DexterityVest_SellIn_10() { + store.addItem(new Item("+5 Dexterity Vest", 10, 20)); + List items = store.getItems(); + Item itemVest = items.get(0); + assertEquals(10, itemVest.getSellIn()); + } @Test - public void testUpdateEndOfDay() { + public void testUpdateEndOfDay_2Items_Elixir_Cake_CheckNameItem0() { + storeElixirAndCake(); + List items = store.getItems(); + Item itemElixir = items.get(0); + assertEquals("Elixir of the Mongoose", itemElixir.getName()); + } + + @Test + public void testUpdateEndOfDay_2Items_Elixir_Cake_CheckNameItem1() { + storeElixirAndCake(); + List items = store.getItems(); + Item itemCake = items.get(1); + assertEquals("Conjured Mana Cake", itemCake.getName()); + } + + @Test + public void testUpdateEndOfDay_2Items_Elixir_Cake_QualityItem0_11() { + storeElixirAndCake(); + List items = store.getItems(); + Item itemElixir = items.get(0); + assertEquals(6, itemElixir.getQuality()); + } + + @Test + public void testUpdateEndOfDay_2Items_Elixir_Cake_QualityItem1_11() { + storeElixirAndCake(); + List items = store.getItems(); + Item item = items.get(1); + assertEquals(5, item.getQuality()); + } + + @Test + public void testUpdateEndOfDay_AddUnchangedItem_Quality_80() { + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 0, 80)); + List items = store.getItems(); + Item item = items.get(0); + assertEquals(80, item.getQuality()); + } + + @Test + public void testUpdateEndOfDay_AddConcertPassWithSellInZero_QualityZero() { + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 0, 20)); + List items = store.getItems(); + Item item = items.get(0); + assertEquals(0, item.getQuality()); + fail("Test not implemented"); } + + @Test + public void testUpdateEndOfDay_AddConcertPassWithSellInGreaterZeroAndLower5_Quality_23() { + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); + List items = store.getItems(); + Item item = items.get(0); + assertEquals(23, item.getQuality()); + } + + @Test + public void testUpdateEndOfDay_AddConcertPassWithSellInGreaterFiveAndLower10_Quality_22() { + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); + List items = store.getItems(); + Item item = items.get(0); + assertEquals(22, item.getQuality()); + } + + @Test + public void testUpdateEndOfDay_addConcertPassSellIn1AndQuality50_QualityUnchanged() { + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 50)); + List items = store.getItems(); + Item item = items.get(0); + assertEquals(50, item.getQuality()); + } + + @Test + public void testUpdateEndOfDay_UndefinedItemName_QualityUnchanged() { + store.addItem(new Item("Item0", 10, 10)); + List items = store.getItems(); + Item item = items.get(0); + assertEquals(10, item.getQuality()); + } + + @Test + public void testUpdateEndOfDay_QualityZero_NonNegativeQuality() { + store.addItem(new Item("Conjured Mana Cake", 3, 0)); + List items = store.getItems(); + Item item = items.get(0); + assertEquals(0, item.getQuality()); + } } From 5e3c38cdb205c48a0dcedcd970a2cf512206c103 Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 19 Oct 2016 20:37:22 +0300 Subject: [PATCH 2/2] Assignment 5 finished --- src/fi/oulu/tol/sqat/GildedRose.java | 152 ++++--- src/fi/oulu/tol/sqat/Item.java | 50 ++- .../oulu/tol/sqat/tests/GildedRoseTest.java | 420 +++++++++++------- 3 files changed, 387 insertions(+), 235 deletions(-) diff --git a/src/fi/oulu/tol/sqat/GildedRose.java b/src/fi/oulu/tol/sqat/GildedRose.java index 24741c6..67329e8 100644 --- a/src/fi/oulu/tol/sqat/GildedRose.java +++ b/src/fi/oulu/tol/sqat/GildedRose.java @@ -3,15 +3,17 @@ import java.util.ArrayList; import java.util.List; - public class GildedRose { + private static final String SULFURAS_HAND_OF_RAGNAROS = "Sulfuras, Hand of Ragnaros"; + private static final String BACKSTAGE_PASSES_TO_A_TAFKAL80ETC_CONCERT = "Backstage passes to a TAFKAL80ETC concert"; + private static final String AGED_BRIE = "Aged Brie"; private static List items = null; public List getItems() { return items; } - + public void addItem(Item item) { items.add(item); } @@ -19,80 +21,84 @@ public void addItem(Item item) { public GildedRose() { items = new ArrayList(); } - public static void updateEndOfDay() - { - for (int i = 0; i < items.size(); i++) - { - if ((!"Aged Brie".equals(items.get(i).getName())) && !"Backstage passes to a TAFKAL80ETC concert".equals(items.get(i).getName())) - { - if (items.get(i).getQuality() > 0) - { - if (!"Sulfuras, Hand of Ragnaros".equals(items.get(i).getName())) - { - items.get(i).setQuality(items.get(i).getQuality() - 1); - } - } - } - else - { - if (items.get(i).getQuality() < 50) - { - items.get(i).setQuality(items.get(i).getQuality() + 1); - if ("Backstage passes to a TAFKAL80ETC concert".equals(items.get(i).getName())) - { - if (items.get(i).getSellIn() < 11) - { - if (items.get(i).getQuality() < 50) - { - items.get(i).setQuality(items.get(i).getQuality() + 1); - } - } + public static void updateEndOfDay() + { + for (Item item : items) + { + String itemName = item.getName(); + + if (AGED_BRIE.equals(itemName) || BACKSTAGE_PASSES_TO_A_TAFKAL80ETC_CONCERT.equals(itemName)) + { + if (!item.hasReachedMaximumQuality()) + { + item.increaseQuality(); - if (items.get(i).getSellIn() < 6) - { - if (items.get(i).getQuality() < 50) - { - items.get(i).setQuality(items.get(i).getQuality() + 1); - } - } - } - } - } + if (BACKSTAGE_PASSES_TO_A_TAFKAL80ETC_CONCERT.equals(itemName)) + { + int itemSellIn = item.getSellIn(); + + if (itemSellIn < 11) + { + if (!item.hasReachedMaximumQuality()) + { + item.increaseQuality(); + } + } - if (!"Sulfuras, Hand of Ragnaros".equals(items.get(i).getName())) - { - items.get(i).setSellIn(items.get(i).getSellIn() - 1); - } + if (itemSellIn < 6) + { + if (!item.hasReachedMaximumQuality()) + { + item.increaseQuality(); + } + } + } + } + } + else + { + if (!item.hasReachedMaximumQuality()) + { + if (!SULFURAS_HAND_OF_RAGNAROS.equals(itemName)) + { + item.decreaseQuality(); + } + } + } - if (items.get(i).getSellIn() < 0) - { - if (!"Aged Brie".equals(items.get(i).getName())) - { - if (!"Backstage passes to a TAFKAL80ETC concert".equals(items.get(i).getName())) - { - if (items.get(i).getQuality() > 0) - { - if (!"Sulfuras, Hand of Ragnaros".equals(items.get(i).getName())) - { - items.get(i).setQuality(items.get(i).getQuality() - 1); - } - } - } - else - { - items.get(i).setQuality(items.get(i).getQuality() - items.get(i).getQuality()); - } - } - else - { - if (items.get(i).getQuality() < 50) - { - items.get(i).setQuality(items.get(i).getQuality() + 1); - } - } - } - } - } + if (!SULFURAS_HAND_OF_RAGNAROS.equals(itemName)) + { + item.decreaseSellIn(); + } + if (item.isExpired()) + { + if (AGED_BRIE.equals(itemName)) + { + if (!item.hasReachedMaximumQuality()) + { + item.increaseQuality(); + } + } + else + { + if (BACKSTAGE_PASSES_TO_A_TAFKAL80ETC_CONCERT.equals(itemName)) + { + item.setQuality(0); + } + else + { + if (!item.hasZeroQuality()) + { + if (!SULFURAS_HAND_OF_RAGNAROS.equals(itemName)) + { + item.decreaseQuality(); + } + } + } + } + } + } + } } diff --git a/src/fi/oulu/tol/sqat/Item.java b/src/fi/oulu/tol/sqat/Item.java index 447b7fe..533a715 100644 --- a/src/fi/oulu/tol/sqat/Item.java +++ b/src/fi/oulu/tol/sqat/Item.java @@ -1,35 +1,65 @@ package fi.oulu.tol.sqat; - public class Item { - String name; - int sellIn; - int quality; - - public Item(String name, int sellIn, int quality) { + String name; + int sellIn; + int quality; + + public Item(String name, int sellIn, int quality) { this.setName(name); this.setSellIn(sellIn); this.setQuality(quality); } - - /* Generated getter and setter code */ - public String getName() { + + public String getName() { return name; } + public void setName(String name) { this.name = name; } + public int getSellIn() { return sellIn; } + public void setSellIn(int sellIn) { this.sellIn = sellIn; } + public int getQuality() { return quality; } + public void setQuality(int quality) { this.quality = quality; } -} + public void decreaseQuality() { + if (this.quality > 0) { + this.quality -= 1; + } + } + + public void increaseQuality() { + if (this.quality < 50) { + this.quality += 1; + } + } + + public void decreaseSellIn() { + this.sellIn -= 1; + } + + public boolean isExpired() { + return (this.sellIn < 0); + } + + public boolean hasReachedMaximumQuality() { + return (this.quality >= 50); + } + + public boolean hasZeroQuality() { + return (this.quality == 0); + } +} diff --git a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java index b76a212..3c12576 100644 --- a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java +++ b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java @@ -1,152 +1,268 @@ -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 { - private GildedRose store; - - public GildedRoseTest() { - store = new GildedRose(); - } - - private void storeElixirAndCake() { - store.addItem(new Item("Elixir of the Mongoose", 5, 7)); - store.addItem(new Item("Conjured Mana Cake", 3, 6)); - } - -// 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 - 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_DexterityVest_Quality_20() { - store.addItem(new Item("+5 Dexterity Vest", 10, 20)); - List items = store.getItems(); - Item itemVest = items.get(0); - assertEquals(20, itemVest.getQuality()); - } - - @Test - public void testUpdateEndOfDay_DexterityVest_SellIn_10() { - store.addItem(new Item("+5 Dexterity Vest", 10, 20)); - List items = store.getItems(); - Item itemVest = items.get(0); - assertEquals(10, itemVest.getSellIn()); - } - - @Test - public void testUpdateEndOfDay_2Items_Elixir_Cake_CheckNameItem0() { - storeElixirAndCake(); - List items = store.getItems(); - Item itemElixir = items.get(0); - assertEquals("Elixir of the Mongoose", itemElixir.getName()); - } - - @Test - public void testUpdateEndOfDay_2Items_Elixir_Cake_CheckNameItem1() { - storeElixirAndCake(); - List items = store.getItems(); - Item itemCake = items.get(1); - assertEquals("Conjured Mana Cake", itemCake.getName()); - } - - @Test - public void testUpdateEndOfDay_2Items_Elixir_Cake_QualityItem0_11() { - storeElixirAndCake(); - List items = store.getItems(); - Item itemElixir = items.get(0); - assertEquals(6, itemElixir.getQuality()); - } - - @Test - public void testUpdateEndOfDay_2Items_Elixir_Cake_QualityItem1_11() { - storeElixirAndCake(); - List items = store.getItems(); - Item item = items.get(1); - assertEquals(5, item.getQuality()); - } - - @Test - public void testUpdateEndOfDay_AddUnchangedItem_Quality_80() { - store.addItem(new Item("Sulfuras, Hand of Ragnaros", 0, 80)); - List items = store.getItems(); - Item item = items.get(0); - assertEquals(80, item.getQuality()); - } - - @Test - public void testUpdateEndOfDay_AddConcertPassWithSellInZero_QualityZero() { - store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 0, 20)); - List items = store.getItems(); - Item item = items.get(0); - assertEquals(0, item.getQuality()); - - fail("Test not implemented"); - } - - @Test - public void testUpdateEndOfDay_AddConcertPassWithSellInGreaterZeroAndLower5_Quality_23() { - store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); - List items = store.getItems(); - Item item = items.get(0); - assertEquals(23, item.getQuality()); - } - - @Test - public void testUpdateEndOfDay_AddConcertPassWithSellInGreaterFiveAndLower10_Quality_22() { - store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); - List items = store.getItems(); - Item item = items.get(0); - assertEquals(22, item.getQuality()); - } - - @Test - public void testUpdateEndOfDay_addConcertPassSellIn1AndQuality50_QualityUnchanged() { - store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 50)); - List items = store.getItems(); - Item item = items.get(0); - assertEquals(50, item.getQuality()); - } - - @Test - public void testUpdateEndOfDay_UndefinedItemName_QualityUnchanged() { - store.addItem(new Item("Item0", 10, 10)); - List items = store.getItems(); - Item item = items.get(0); - assertEquals(10, item.getQuality()); - } - - @Test - public void testUpdateEndOfDay_QualityZero_NonNegativeQuality() { - store.addItem(new Item("Conjured Mana Cake", 3, 0)); - List items = store.getItems(); - Item item = items.get(0); - assertEquals(0, item.getQuality()); - } -} +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 { + GildedRose store = new GildedRose(); + + // Test Aged Brie + @Test + public void testUpdateEndOfDay_AgedBrie_Quality_2_10() { + // Arrange + store.addItem(new Item("Aged Brie", 2, 10)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Aged Brie increases"; + assertEquals(failMessage, 11, quality); + } + + @Test + public void testUpdateEndOfDay_AgedBrie_Quality_10_50() { + // Arrange + store.addItem(new Item("Aged Brie", 10, 50)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "The Quality of an item is never more than 50"; + assertEquals(failMessage, 50, quality); + } + + @Test + public void testUpdateEndOfDay_AgedBrie_Quality_0_10() { + // Arrange + store.addItem(new Item("Aged Brie", 0, 10)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "The Quality of Aged Brie increases twice after SellIn date has passed"; + assertEquals(failMessage, 12, quality); + } + + @Test + public void testUpdateEndOfDay_AgedBrie_Quality_0_50() { + // Arrange + store.addItem(new Item("Aged Brie", 0, 50)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "The Quality of Aged Brie is never more than 50 increases twice after SellIn date has passed"; + assertEquals(failMessage, 50, quality); + } + + @Test + public void testUpdateEndOfDay_AgedBrie_Quality_Minus1_20() { + // Arrange + store.addItem(new Item("Aged Brie", -1, 20)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "The Quality of Aged Brie increases twice after SellIn date has passed"; + assertEquals(failMessage, 22, quality); + } + + @Test + public void testUpdateEndOfDay_AgedBrie_SellIn_2_10() { + // Arrange + store.addItem(new Item("Aged Brie", 2, 10)); + // Act + store.updateEndOfDay(); + // Assert + int sellIn = store.getItems().get(0).getSellIn(); + String failMessage = "SellIn date decreases"; + assertEquals(failMessage, 1, sellIn); + } + + @Test + public void testUpdateEndOfDay_AgedBrie_SellIn_1_10() { + // Arrange + store.addItem(new Item("Aged Brie", 1, 10)); + // Act + store.updateEndOfDay(); + // Assert + int sellIn = store.getItems().get(0).getSellIn(); + String failMessage = "SellIn date decreases"; + assertEquals(failMessage, 0, sellIn); + } + + @Test + public void testUpdateEndOfDay_AgedBrie_SellIn_0_10() { + // Arrange + store.addItem(new Item("Aged Brie", 0, 10)); + // Act + store.updateEndOfDay(); + // Assert + int sellIn = store.getItems().get(0).getSellIn(); + String failMessage = "SellIn date decreases"; + assertEquals(failMessage, -1, sellIn); + } + + // Test Sulfuras + @Test + public void testUpdateEndOfDay_Sulfuras_Quality_0_80() { + // Arrange + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 0, 80)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Sulfuras is 80 and never alters"; + assertEquals(failMessage, 80, quality); + } + + @Test + public void testUpdateEndOfDay_Sulfuras_SellIn_5_80() { + // Arrange + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 5, 80)); + // Act + store.updateEndOfDay(); + // Assert + int sellIn = store.getItems().get(0).getSellIn(); + String failMessage = "Sulfuras, being a legendary item, never has to be sold"; + assertEquals(failMessage, 5, sellIn); + } + + @Test + public void testUpdateEndOfDay_Sulfuras_SellIn_0_80() { + // Arrange + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 0, 80)); + // Act + store.updateEndOfDay(); + // Assert + int sellIn = store.getItems().get(0).getSellIn(); + String failMessage = "Sulfuras, being a legendary item, never has to be sold"; + assertEquals(failMessage, 0, sellIn); + } + + // Test Backstage pass + @Test + public void testUpdateEndOfDay_Backstage_Quality_15_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage pass increases by 1 when there are more than 10 days"; + assertEquals(failMessage, 21, quality); + } + + @Test + public void testUpdateEndOfDay_Backstage_Quality_10_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 10, 20)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage pass increases by 2 when there are 10 or less days"; + assertEquals(failMessage, 22, quality); + } + + @Test + public void testUpdateEndOfDay_Backstage_Quality_8_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 8, 20)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage pass increases by 2 when there are 10 or less days"; + assertEquals(failMessage, 22, quality); + } + + @Test + public void testUpdateEndOfDay_Backstage_Quality_5_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 5, 20)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage pass increases by 3 when there are 5 or less days"; + assertEquals(failMessage, 23, quality); + } + + @Test + public void testUpdateEndOfDay_Backstage_Quality_3_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 3, 20)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage pass increases by 3 when there are 5 or less days"; + assertEquals(failMessage, 23, quality); + } + + @Test + public void testUpdateEndOfDay_Backstage_Quality_0_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 0, 20)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage drops to 0 after the concert"; + assertEquals(failMessage, 0, quality); + } + + @Test + public void testUpdateEndOfDay_Backstage_Quality_15_50() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 50)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "The Quality of an item is never more than 50"; + assertEquals(failMessage, 50, quality); + } + + @Test + public void testUpdateEndOfDay_Backstage_SellIn_5_10() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 5, 10)); + // Act + store.updateEndOfDay(); + // Assert + int sellIn = store.getItems().get(0).getSellIn(); + String failMessage = "The SellIn value should decrease by 1"; + assertEquals(failMessage, 4, sellIn); + } + + // Test Elixir + @Test + public void testUpdateEndOfDay_Elixir_Quality_2_7() { + // Arrange + store.addItem(new Item("Elixir of the Mongoose", 2, 7)); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality decreases by 1"; + assertEquals(failMessage, 6, quality); + } + + @Test + public void testUpdateEndOfDay_SellIn_Quality_2_7() { + // Arrange + store.addItem(new Item("Elixir of the Mongoose", 2, 7)); + // Act + store.updateEndOfDay(); + // Assert + int sellIn = store.getItems().get(0).getSellIn(); + String failMessage = "SelIn decreases by 1"; + assertEquals(failMessage, 1, sellIn); + } +} \ No newline at end of file