From 0fd75720a68b7fcc544f8217e04ab51f26af44d0 Mon Sep 17 00:00:00 2001 From: Muscha Date: Wed, 19 Oct 2016 12:30:05 +0300 Subject: [PATCH] assignment 5 --- bin/.gitignore | 1 + bin/fi/oulu/tol/sqat/GildedRose.class | Bin 2380 -> 894 bytes bin/fi/oulu/tol/sqat/Item.class | Bin 1034 -> 1767 bytes .../oulu/tol/sqat/tests/GildedRoseTest.class | Bin 504 -> 6210 bytes src/fi/oulu/tol/sqat/GildedRose.java | 202 +++++++------- src/fi/oulu/tol/sqat/Item.java | 92 ++++--- .../oulu/tol/sqat/tests/GildedRoseTest.java | 258 +++++++++++++++++- 7 files changed, 399 insertions(+), 154 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..840fc35e19e946f78d57783037ebaf62071fd7d4 100644 GIT binary patch literal 894 zcmah{T~8B16g{&R+Af7+5kEk5%2TVxeb6UMco5N;Y$RH3!jqYHhdN|BQ)g$1eeidg zXrk}_DC6A)tf56;?(F?K_nedc`RnU<0FTftBVgD(QjyJc7I~|q^rP_63#Aj8ys@b) zqr|X!EKWqEg&9T%{bM=s3=7K3QA(}2=w)8%C|0TOFjTv0XoSz4WN2S#@5D2=UJ_7e zm-Z?{>GOn88?B3r)W1Jd{1;kj&nCovg`qxWzwexN6|6Ee-x()Ut50OY2X-`8T6kp* zA3NLEa`c3UA(qjoVGY+97I&0UewSgrbt&T4(ZaC&=#^HxSHTv;>;Hme&Si*IR zwbLowz)i{+ZefGsIYL0S%Mt2x5!SHz7s8ao?KvFY&q1i-&L4z(h30b(mm}mn8SYXH Gz<&e2e#plF literal 2380 zcmbVNOK%fb6#nkm@r!{N=K&3cPD%qdq?kuT00*cO@-R3F!NF+)6mIMrGhyNhGvk(^ zN|oB~SX6qLxWS8s_~`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..bf798c80bd688ed7239f44a05af2c2579bb42649 100644 GIT binary patch literal 1767 zcmaKs-%}D%6vxkn6$BPF1T=q@rU^^3hGm(KljGD3GiYNNQ@+#{Zo0NC3QJ@EO4CDs zfDbj3G}A+WKz~%zIhO?ymVDTIJ?Gr-`P_5P<1r(1%pWL%9XdPhIO>gz*iHdnY9?OECc^p zotuXJi9u**>-F2cS6jL4{u>72?TS^ixn&o)Sr=Xe$>7Ni!!qnm24jg{;cPZpz{J~? zk_dtqZm1B32m@~-SqK7ys0uNNW5SxScO_iRMWh)!uEI^2U=YCAyaTHwP@jaRRG21b z5S@E1_~D#kiQRhnP*nH%p((FkDRQ&Gs|Nk=7!~{2s3CsNwU}5N|51xBnn?EEF@X6O zR2Tps!eM9&4lkJ{Us44>3?du)95yoFQz1a+;gTp;1+NLmN7vC+&|ndLhIP%yV5k+{ z%tFB{D%_>up;mAUAYjy8%M&yBjiWZ8j)E!ysS$=z)VPIKt$7}9 zBMbdSB?pr`BJs!_v3N1_9NfV#W!7<}r~&N<%zwj;2PlD3fxPdC*S=X?kRqP$umv^AJ|sb#9Jr z2uqXs0t3p0ms;iR7~W+UiAOSq(NE7~SFQACSFM%*Ypu1lp5mm_a|%<-MlxSr)mA&y Q!cNB=vJjqrB8PwdAJ6~l$N&HU literal 1034 zcmZ{i&2G~`6otgq% zi3Jb9Lm|$L9f}fnGk50Bz2|)M^ZU=wUjSa*1@^kPTfKA|C8L)D`YeoNKM@eVfN?z!;wb&h^s6X| z(sO~jv)<+V?LJjsPcB0XWo+57uq{w_+IF<(N1V~tv% zvBpl5y<6F3hQp?2CZ9AE4QnlsuXHj)jv2rhZ8u#X|DA@$k~?_ka{5qztkE? w;|6D|AcwST+yNr*M&7{FLJ(&aq*(~U?^^`otb!a9q;&^~d>RSjs-t)Q0%Qk_YybcN diff --git a/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class b/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class index e44e81ce2b232358b6069c215dc740c0984c2b8c..1d2b0a1e32256d5c175dcfa1d6b25fed9b2f5aa9 100644 GIT binary patch literal 6210 zcmbuCS!^3s6o${uQcoPym^75qLK&9QBz0>$#Z4fElD27^;?UBhfwGy2J#i+T%(OG( zwqf52lpP)rVv!JHc|eFo&=v{^gjj?SVtGJ_1wwbm%it7+H zF^Wzpdz84Y82R{?@hLUyFlx3P(^46ol&*SB1+?I*;%1mY;ujbZTnwq(=py--2lj+GM6O2ySRxliG zS{>7D4G{+n!*mo!GYtfcrcEm!pDG~dIG3+KL?sQK7%l9qPLtp1FHSf;LQ6ekJJ+zWh7|(f9x_%gvD8*>8Hzb=Aa#;*nGqRSd*s9$O%kr<*Fr7t^^K6J* z(RjeNRm+LcYC4BeL~*YMcVoGbiAcoFo4E@^{0S^5BR0gSbwbhfVb!*kylbZ_NyV0Tak+A(@R7jbd6E|}x^(vNqBJWj8UTvX@*s*2 zYevCNW_rpR&PU1Dnpl*;tz&M?(Fkql#%zHxi?<}Y2u}7Zl~X+rY(`esM}}5(xcpm zeF>RAUbLg4!yn~J+bT}5G&|#om~s&&7_BPZiOJ(CI+d)*x|&ywoMO$mzK?lfxak}d z56QNvmyOpPEF8}m=?GSLt&-hoJ1E|=I>{6~A(4*4E#EBK-33tO(SZ%;52X7NgQM%@ ztZ8J?LnJa74f)hMdZy35<1=zn-aDxps9+U!tl+0o(8&ZUY^E&cae_nm%6~(qj$$lzpW}l9to#qKMMbY= zloZ0|EOVFZ2b6-_AfaT7=Z3(mmO{@L*K9@Ta>4M%eIrg@ymNXzW{;v5P!E$hiRI){ zuaUXMO48u`wM5|hL0#LYS>;9S$@EHeE2H_vaoz`zjy!A{c@sxDiEhWek_@Fd_ECXw zx)KHQ=)JkAo&&@+Ks*nK13+9G7;&2r@ixzlsfrnE z*UQN2_OanuSO~ZQfSUlg8Gz>lFby?_eSoR*GPlyjUbRT&YS|GKu&JgKi-0XczzYE| z0>JG690TA*0K7Ob;3Y!9|6D3Xzz(`ph4t02^_y3_2ei@1kNw@mgn< z921xE+W>qAfbRnEJpjIsGXB5^=r7}vhLs)fIw7FQif#YneE1Qp_%W>b39R@jtoRwM z__>d6;UXZo=7FmB2j40 znSajtzyH>FnDYL-Tmdvu-pgJ&++MDix+7p#szU**x0xvk6Vd&39Cx(x^~?)$dD=l91pzsEPh3&NRYuj}VJho8z<@vqVXDpZE?v+= zwG$#oJ`6}|5CIJlB|MAizvcMf3zZF1Em)j C5+#rT diff --git a/src/fi/oulu/tol/sqat/GildedRose.java b/src/fi/oulu/tol/sqat/GildedRose.java index 8d48732..e3b2b2e 100644 --- a/src/fi/oulu/tol/sqat/GildedRose.java +++ b/src/fi/oulu/tol/sqat/GildedRose.java @@ -1,107 +1,95 @@ -package fi.oulu.tol.sqat; - -import java.util.ArrayList; -import java.util.List; - - -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 static void updateQuality() - { - 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); - } - } - - if (items.get(i).getSellIn() < 6) - { - if (items.get(i).getQuality() < 50) - { - items.get(i).setQuality(items.get(i).getQuality() + 1); - } - } - } - } - } - - if (!"Sulfuras, Hand of Ragnaros".equals(items.get(i).getName())) - { - items.get(i).setSellIn(items.get(i).getSellIn() - 1); - } - - 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); - } - } - } - } - } - -} +package fi.oulu.tol.sqat; + +import java.util.ArrayList; +import java.util.List; + + +public class GildedRose { + + private static List items = null; + + public List getItems() { + return items; + } + + public void addItem(Item item) { + items.add(item); + } + + public GildedRose() { + items = new ArrayList(); + } + public static void updateEndOfDay() + { + for(Item item:items) + { + if ((!"Aged Brie".equals(item.getName())) && !"Backstage passes to a TAFKAL80ETC concert".equals(item.getName())) + { + if (!item.hasZeroQuality()) + { + if (!"Sulfuras, Hand of Ragnaros".equals(item.getName())) + { + item.decreaseQuality(); + } + } + } + else + { + if (!item.hasReachedMaximumQuality()) + { + item.increaseQuality(); + if ("Backstage passes to a TAFKAL80ETC concert".equals(item.getName())) + { + if (item.getSellIn() < 11) + { + if (!item.hasReachedMaximumQuality()) + { + item.increaseQuality(); + } + + if (item.getSellIn() < 6) + { + if (!item.hasReachedMaximumQuality()) + { + item.increaseQuality(); + } + } + } + } + } + + if (!"Sulfuras, Hand of Ragnaros".equals(item.getName())) + { + item.decreaseSellIn(); + } + + if (item.isExpired()) + { + if (!"Aged Brie".equals(item.getName())) + { + if (!"Backstage passes to a TAFKAL80ETC concert".equals(item.getName())) + { + if (!item.hasZeroQuality())// change + { + if (!"Sulfuras, Hand of Ragnaros".equals(item.getName())) + { + item.decreaseQuality(); + } + } + } + else + { + item.setQuality(item.getQuality() - item.getQuality()); + } + } + else + { + if (!item.hasReachedMaximumQuality()) + { + item.increaseQuality(); + } + } + } + } + } + } diff --git a/src/fi/oulu/tol/sqat/Item.java b/src/fi/oulu/tol/sqat/Item.java index 900d2a1..8f6d6b1 100644 --- a/src/fi/oulu/tol/sqat/Item.java +++ b/src/fi/oulu/tol/sqat/Item.java @@ -1,35 +1,57 @@ -package fi.oulu.tol.sqat; - - -public class Item { - public String name; - public int sellIn; - public 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() { - 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; - } -} - +package fi.oulu.tol.sqat; + + +public class Item { + public String name; + public int sellIn; + public int quality; + private static final int MAX_QUALITY =50; + + 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() { + 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(){ + setQuality(getQuality() -1 ); + } + public void increaseQuality(){ + setQuality(getQuality() +1 ); + } + public void decreaseSellIn(){ + setSellIn(getSellIn() -1); + } + public void increaseSellIn(){ + setSellIn(getSellIn() +1); + } + public boolean isExpired(){ + return getSellIn() <0; + } + public boolean hasZeroQuality(){ + return getQuality() == 0; + } + public boolean hasReachedMaximumQuality(){ + return getQuality() == MAX_QUALITY; + } +} + diff --git a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java index 04a5d2d..0b83417 100644 --- a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java +++ b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java @@ -1,12 +1,246 @@ -package fi.oulu.tol.sqat.tests; - -import static org.junit.Assert.*; -import org.junit.Test; - -public class GildedRoseTest { - - @Test - public void testTheTruth() { - assertTrue(true); - } -} +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); + } + 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