From ef83c854256e73c4ad7e8d9681e9722ce98711f7 Mon Sep 17 00:00:00 2001 From: MacBook Air Date: Mon, 17 Oct 2016 19:57:26 +0800 Subject: [PATCH] Assignment 5 finished --- bin/.gitignore | 1 + bin/fi/oulu/tol/sqat/GildedRose.class | Bin 2380 -> 2251 bytes bin/fi/oulu/tol/sqat/Item.class | Bin 1034 -> 1300 bytes .../oulu/tol/sqat/tests/GildedRoseTest.class | Bin 504 -> 6370 bytes src/fi/oulu/tol/sqat/GildedRose.java | 134 +++++---- src/fi/oulu/tol/sqat/Item.java | 19 +- .../oulu/tol/sqat/tests/GildedRoseTest.java | 274 +++++++++++++++++- 7 files changed, 354 insertions(+), 74 deletions(-) create mode 100644 bin/.gitignore diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..76b3e7b --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1 @@ +/fi/ diff --git a/bin/fi/oulu/tol/sqat/GildedRose.class b/bin/fi/oulu/tol/sqat/GildedRose.class index f244eba73874c91f18244a292b7f88cc3b4b5f80..7ce1f02918972acd6e9c15bd6e818daaad2cdd2b 100644 GIT binary patch literal 2251 zcma)6O;cM{7=BLpxFK8ugs%#1OI09kon#MqPK|j6c9X;EW4rT(~Me=O&O)YR5%#&v`$d^S;mfob%-A z4?h7oi4_9@fsSQ6p37(QaW9vNySJqmKW}F&WzFSWWuQ`^;ikMJ;~AMv$7h#rs+1>C zWqWGXr7Pk4@}8ZECv4Xn5~xYq>8$kfjuPm4#yy-kaMl!ohDMlIJ#1%fZ$zLX*0mr| zIi9mr2ow)4IDXGQK@@Y6-+Bnm&nja?Adnc?>S(6QICeSER8169y@rjPes>4 zEso%214jkIrG9m*CZae-eh4Da5-V_9HkP5TMe=6*_-+3I&-vKy#QK`;D1ubRrgToV zt1=loD>XM#J-I|tbMWPO^NOw-j)QYmE<+{C^U%i}{8Qa?sFmCUz!VFqePHxW? z&aYY0QxjQhcKMv#&^`5;h@+pBvO-6CIY*#%AA9WIw-41~0H+L`BM^m|M zN;wqpAkLe(0CFE<340Xs9!!NO>`NxP(5b_wP0S!fiQCzfqok{fvD){ZiOU+Ih7d`P zb1JKIlO}r58N~ZkTr!_o&O6fWjb4yhE1Fx5&Pm=>C+F(?D<-b`*p@ngy=dYC?F;Yv zN(X#s;*~;iADQ?Vl0CR(J!pYZ&;v-Bus~`J3T4Kh9NVMxLdjg-NvTO&U)1{2)$7xP z$1%20!KX?fpf5MS26q7j`DLrnE!NU9#wfvWL-#h!?jI4pwvC4G(fExY-NgT}kHhDT zS@q0rrp+wmparem3AEu5u?r`>qX-5aWx~OxE z4(K?Y-18WR1GrKuDCGMZ7}@CKv=(BEI2!#pP7o=e`7I(&`+FeRaSv6M4=WxLy~3}k z&|Wj!YhiV5Wr)E{Y9Yeb0oS)!WI)Kw9BmOEW+sH0)vi|2xO5cn{eKUxMJ+5-=v zyBs`7FbeN~)_t6HpCEi^8FYEw`=B-Xy}Oeaf0FnkMX*|^aDKYeT+8*e!*ZO z@>b6y3_Zd-Td0qmE3P+jxtq($ZCu=fVS_UilSFWEb_{Q-^^ zEpuCFipfeG^yrYTHCh33If7dA6*irXJcR_0M{Q8!tYOtuF~| zJ>Ah#D~RJRX9muvjl9LthqLI%2=C-YoI(<(aRXxg^EXKRjuigj_5KrS`~zE5;+6=aTQtHc4OB#mT4}>y tMQLjxoQJHYv%#9M!%MGs1_u58KznqLxWS8s_~`Vk$TZGOB}Lr7-9rUq2(z}r-}St4#) zD#5xLKTnYk#S1={2w)e3e{^_oD4A*xLBqR#v@;NyMfCI7;eB7DQg_wR91{F`~NP&~NFMX3l8N zb)gNL#ezw)3*ZDpTc%{plq_y{YD2u3mp&IbNy{?r0D4GVy*zirc6dQ(^W3(DtvRN~ zwejS@xn%m-!T#|+EoT;U!g2y2QAPU9;w-5$uMP7e*ZTMk5h8JYs3IvPvbi*$=Z+XF zaf1jUEpV$ql4+_V1xZ4`iUAB#!v!IaJesOX-8Cf%NoY#NS)8N8B)<_pN1APpx?QX4 z3Sk(devH&=tE@Z~=Owc~ag$23WzGvKG8ktFQO?zRX=YN=m{l=>kH~1dj9#iQE3H#1 zF3Hd!g=U0dq>2)~qT*v26Qr05DqFm!f=geot>31)nNClNh{`y``!Jucj$0^WmaLo@ z(B(ijuFcZ{DG;<1#U8qBs31AS^!C%2f&jeq1PNu>L`Vm{-zGY%X7r#1W7NnDw&63nlNQm2Z|DM&990^=k6!eZ8zyO28up}#aAHfj z>q$IRzKnEHKW$HOM!|20E@NmJ=?9pJB>7pDE9*Plt96|WZ(2fkEjA|8?{;JE_3QMt*ksuEhI#6e@_*Y; zN>VPb+x~m}QU7$ltw+NHY&ab()i30Zdn5OH?R2iYVfUI`)_qov^Nsla3apK?J;haq zAOHDOs@+qb_S@J+>vp;*cGJI;4)kL$E+a-N@5JYb;~oy-F3&89eH|M5&WC(q!lcz;O+_rkFMa(!6OPyk|3*sng0M*izc}M diff --git a/bin/fi/oulu/tol/sqat/Item.class b/bin/fi/oulu/tol/sqat/Item.class index 478a73984862181a0a6b22a57fca5a1788d6a3f6..d49bb8cab71d5232c1864ac7745c05b29657fd67 100644 GIT binary patch delta 326 zcmeC;n8L+%>ff$?3=9m$4Eh_nmN6Rhr=%tqr6v}q29_q~WR_GiGVo{Sp^5Op)C8yI zsjfq|WY159&*X|Bz$8Ks!&`571)c!0u|49q|l0|U2KJ6kBLDK07~d9ZvX%Q delta 60 zcmbQj)y2Ve>ff$?3=9m$3_2URmN8C#%BUpC$iT|L1{7mtU}xX})0|+MeX|0S6cZ~0 I0~3Qb0GICxNB{r; diff --git a/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class b/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class index e44e81ce2b232358b6069c215dc740c0984c2b8c..5bd3d1a0d2266f6e4cbb6232cd9f48cdf465c662 100644 GIT binary patch literal 6370 zcmbuDTW}ml6^2ji;vKCv)>>8^N5aYA;8;@D+KW&kTOvWWWk-$_JCdScOtOr2N2`%X zGxp4^96`tp0)fO%s!~p+5_kzk0eJ~fi47#&c}a@m@)C;T@)C;T@)C;T@)Y=cF1urG zOKLz>T4{Qw=Y0M5f6i&?&3C{3T_PH!rxVn~XwQO?wX0?|>)B@3J*#~AHT4&aFxoO|ScZ2iqvqbe zIYupq?6RJuW@=ASf|LYZ#i(b4HzX-V?QH~v6t&V8MjexerQcayp4XjOZQcYy=cHZI z%sI_5_;ong;w>63qrHuEqD6wUmyh3lrmT7TxK%#Ba9CR{j#c#XLC4UGcU3jh@K%e3 zVm`;{+Uct08O!>d;TniIW?8nUd4_EvV0zMaD%qtf)|}s>uDvPhr9MVVMfdm&te~^EFNj_B3^O}vU=8hb6YWb-2Cwj`YIjmJ zKv`@pW@C}P6XDF5QAYTx@+m6NAfqIn3#Ih^Frm;8qwB&U)m~6*VyK2ya&*nr-BwtZ zf3+uRKS9m|5V@}LnCt3}m!eVn0Hc)VUyYx|c3~wV5sw|?E==$zu%V3D1f%u^%`m5Q z*VQV%of?#9)FMf5V*(JL=lLmdgqLiu4)S&g3josIbo^X;_9O2s%N-d^H)-F&f7({Kk;exr$j1b!ZKW6q}NZf?vr7&Ew~&^>T+T&c1i8WFY3 z^%azhk@stb3=QAV)_;dz;$4`jnhRA&b8D3-R~*JJ6p{PUt&DoRW|esoO=}fPb8J^3 zjZuHhhS8(khr>CQKOWdoGvSX~rkxNkFq&NqMI7=G78u&lri`_8YbdG*|)ZXttpsx>ONSR@V3UwZ_uA2*Hr4X3t=h2kv=eVWmZV4T+hzMLuBs@OQnDfBq*MKVNj z+$#d%bR`ND(uZ?VI}zwSqb`i|ZW5J8|5fPmGj`P}=|>EHG}~T33eMs%G{8G64lii_ zXy^>zIMU&B2Y$z45T9+hI*7acUb_D>CHr5a)XB@V^;PQlI>wr48$P%C^A&2r^BtJi ziLq2LhqhA}u291<-h?+3BH$>1pZwkDam8bg^uIzKuhGtvo!zbJ{5$1&ubF_|`PNoZ+a~|TH<3i3J(Cwlgx}LHiD_|Q&Xm^Zr zG~~?II14e(qe4!BoXs+F-p(#I2k zj3Hp&0=Qvd?g!=pY0TrYm`&-f%{Sdw^Mp{%+kiO+%tOFD49syr9+AeJ7GgdTnsa~M zoSWy+%xLG_R3<5eyaSL^fIJS!6M(!6icZHM_t&<(ojw$1kW$N_ld_O4n>sUqY!gD> z1BjD=JO#*)0Pex)r5I*BeIhOE)#zSH z%=?*y#e|wV$E*l39{}cqzs4Bl^m_Z9HI3f@cLy)4aJ z74lvT{ZKzQotDB~;qu-uw8QJb{SKw+b=dcNu@NZP z7GQq`*k1$oH-P;uO2hABu<_CmX$$r9t8}B|Mu3yl;c|_pt8Uu1SV8{a-BmUO9CB@+Mu delta 275 zcmZXNOAY}+7=){5hM|r3`v!<)A}mEB5+@J~8xcAl3zC_(b_Q`0D`MdQj^Pwmq6UeD zO;!J0^?(1p@i67>dAR~;qP&;Aa=5)*FLg)2tW<{rR&O&?5+p1Rc zhiWH8j(ix9)F2KtMs+>~dYqF$g8v4R-&TqqfSOF+AnT0u4 items = null; + private List items = new ArrayList(); - /** - * @param args - */ - public static void main(String[] args) { + public List getItems() { + return items; + } + + public void addItem(Item item) { + items.add(item); + } + + private boolean isExpired(int sellin) { + if(sellin <= 0) + return true; + else + return false; + } - System.out.println("OMGHAI!"); + private boolean hasReachedMaximumQuality(int quality) { + if(quality >= 50) + return true; + else + return false; + } - 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(); -} - - + private boolean hasZeroQuality(int quality) { + if(quality <= 0) + return true; + else + return false; + } - public static void updateQuality() + public void updateEndOfDay() { - for (int i = 0; i < items.size(); i++) + for (Item item:items) { - 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 ("Aged Brie".equals(item.getName()) || "Backstage passes to a TAFKAL80ETC concert".equals(item.getName())) { - if (items.get(i).getQuality() < 50) + if (hasReachedMaximumQuality(item.getQuality()) == false) { - items.get(i).setQuality(items.get(i).getQuality() + 1); + item.increaseQuality(); - if ("Backstage passes to a TAFKAL80ETC concert".equals(items.get(i).getName())) + if ("Backstage passes to a TAFKAL80ETC concert".equals(item.getName())) { - if (items.get(i).getSellIn() < 11) + if (item.getSellIn() < 11) { - if (items.get(i).getQuality() < 50) + if (hasReachedMaximumQuality(item.getQuality()) == false) { - items.get(i).setQuality(items.get(i).getQuality() + 1); + item.increaseQuality(); } } - if (items.get(i).getSellIn() < 6) + if (item.getSellIn() < 6) { - if (items.get(i).getQuality() < 50) + if (hasReachedMaximumQuality(item.getQuality()) == false) { - items.get(i).setQuality(items.get(i).getQuality() + 1); + item.increaseQuality(); } } } } } + else + { + if (hasZeroQuality(item.getQuality()) == false) + { + if (!"Sulfuras, Hand of Ragnaros".equals(item.getName())) + { + item.decreaseQuality(); + } + } + } - if (!"Sulfuras, Hand of Ragnaros".equals(items.get(i).getName())) + if (!"Sulfuras, Hand of Ragnaros".equals(item.getName())) { - items.get(i).setSellIn(items.get(i).getSellIn() - 1); + item.decreaseSellIn(); } - if (items.get(i).getSellIn() < 0) + if (isExpired(item.getSellIn()) == true) { - if (!"Aged Brie".equals(items.get(i).getName())) - { - if (!"Backstage passes to a TAFKAL80ETC concert".equals(items.get(i).getName())) + if("Aged Brie".equals(item.getName())) + { + if (hasReachedMaximumQuality(item.getQuality()) == false) { - if (items.get(i).getQuality() > 0) + item.increaseQuality(); + } + } + else + { + if("Backstage passes to a TAFKAL80ETC concert".equals(item.getName())) + { + item.setQuality(item.getQuality() - item.getQuality()); + } + else + { + if (hasZeroQuality(item.getQuality()) == false) { - if (!"Sulfuras, Hand of Ragnaros".equals(items.get(i).getName())) + if (!"Sulfuras, Hand of Ragnaros".equals(item.getName())) { - items.get(i).setQuality(items.get(i).getQuality() - 1); + item.decreaseQuality(); } } - } - 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); - } - } + } + } } } } - } diff --git a/src/fi/oulu/tol/sqat/Item.java b/src/fi/oulu/tol/sqat/Item.java index 900d2a1..6189284 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); @@ -31,5 +31,14 @@ public int getQuality() { public void setQuality(int quality) { this.quality = quality; } -} - + + public void decreaseQuality() { + this.quality --; + } + public void increaseQuality() { + this.quality ++; + } + public void decreaseSellIn() { + this.sellIn --; + } +} \ No newline at end of file diff --git a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java index 04a5d2d..500e11a 100644 --- a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java +++ b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java @@ -1,12 +1,274 @@ 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 testTheTruth() { - assertTrue(true); + 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