From e1fb3a00aab170bf2c9aae4bf04b2ee05e5022f5 Mon Sep 17 00:00:00 2001 From: Toni Date: Sat, 15 Oct 2016 16:16:32 +0300 Subject: [PATCH 1/2] Project --- bin/.gitignore | 1 + bin/fi/oulu/tol/sqat/GildedRose.class | Bin 2380 -> 2672 bytes .../oulu/tol/sqat/tests/GildedRoseTest.class | Bin 504 -> 6286 bytes src/fi/oulu/tol/sqat/GildedRose.java | 23 +- .../oulu/tol/sqat/tests/GildedRoseTest.java | 293 +++++++++++++++++- 5 files changed, 308 insertions(+), 9 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..6944c3703131dade2cf095e6380ee95c475a3551 100644 GIT binary patch literal 2672 zcmbVNOK%fb6#nkmi60q=V@RN(&`Bv^6N-5>yd0n=gv8(^1P9XuDBRc+XToGAnHd*? zDphKcDwRbAEUKcaQt5(i3sO=*s=8*^MYk;4f6!&qRy}v@;BoA-z>+<8zVo=}@tx!6 z|33X0zSt>((mAE%kcUPJmC6AF^us5%3hUOe&@WtXe z27jMfpa9k|tgBvSsZ%V` zjG5N95#q3XOls6F$6}21_o2@<`@|-Z&DWLXPqj&;{lc-_2gXm^x>+Vrbsy7_f(wqe)r;3Wk@UE!nZiWpFe5TX! zTnqMKUjTa<)>eBW+94C2-lH6Op|C2VGG&tSi69OTJ5oippq#KYHHbr0%zjlV}&j5r)oeNuMfN+}@=Oa-$%0&T*oaW!gdX61h(B{59L*MOB&OwyoNV zV=7!3OPxBC${gC$Kh~$@O(U;bP7p+@XrF1!5GxDH5I4Be$FHejBFy_TQi4NkOLGP8 zsQpG^Wa=bepmuYsNUT`bpxdGf{W4BrfHE$sqN}lVh3lR%Ns5Z5Wt_$t>KEw^^I0O| z`j}U>LZC2)FcQFUEqz>a$v7)Y+pNx)xNZxd=VW9t#tm|n-JNQQIXZ4ZS5w-%{2O^8P;SSD*O7zIu@%RA$PvraTY6snDsv@v;Zh1p-n}Pu9V2TSi0-LSFMw9)+||h^^_)N zzqLBZy9IC2MVFvy-5htIfxLU3@wCo6DB?_&mfO4VeMnI{YbA8*3qvp z11Ya}5#fxsQN=JpPa$pExrFxBCIQz(E-Rn|8(cRV@kYh?w~FiAkI)%a7V-8Yv^_&? zJi0Ryj;vq8t|v%HxUhouH2LbVgTY9k4m|9OoUH?sk=6!2k2Xh|U#k9u)O80B8V5q;uD0BJu6AeI3wzI`vg)KQVNWs2enpo3f%EJyT#!03A#KKG=?tz&!aa&?!w(J4*1FO4|IWd30{90Fv%<47<5-__CF0JUy=X- delta 1102 zcmaizU2D@|6vzKh-}2J5jY(^3r|W80t)s4}$ebO5Ah?0Dg&|T9HL!M8X4RQ0g3u4( zRe2oZE(8nWrPx779f;uF@GIzzc<&c*cvAP0E}JHhoadKw&htO#$mcA3p&& zgZZZ1@=IU{HNWL`hQLI%R<$n3@Iq6dLgryMHJCtBz##_puKCz3ESR&fvu3TuvPmHs4D&B+m>p}rPe@s4 z0!}c*c*7TKdtxjUsy~=Bt+G)!7pm4u#+zsSr|;aT4?MMfyHDpVxI8J-Cp{yZS z(neHSjjkf!MZtsXTlB2o>tbW)MOARoaj!b#f<-mbpOmKp14X-_5vmw82N4?GI&!3W zf)pF1xq>*JA%P~6ctL~Mscnfr3}hQhvWrU|d`7N=$que8qoNf_u?tW4L*q3|Xyg5? z7tfdzI_(Y&-&_aR-r@T;PWCo7)YC1jZ$n~a^MVj_$$JIvbnBp`23r{GXT5Y8Cv)1i zjN2rmpOw_W9(it(uKy<5vkm_WE7@(hLHqNxsGoGV`sMx;;HId%nzD@N&SISQPS5W+ xvC}4(UCX~i+PA5}tv`ms_=Xr)l`d{Ey!rjaK1yDMc~)w$2!AV`^4n*w@&{0`@gV>J diff --git a/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class b/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class index e44e81ce2b232358b6069c215dc740c0984c2b8c..ac6c3f0c91a1413139cdeff0c9e08de3e85de514 100644 GIT binary patch literal 6286 zcmbuCTW}lI8OOh4$I)6Av0^(H5=fVXfbH0k37^5ae+vl{DS=P%b$JA5yNySMys_odR1Dak` zi<73UPUAX8s~9C0lv7GdSBz5X@a%$Ga2U1Nj%lfkt{$&>P4xxCj8>0mhUVPFsJXjm zhS92hW>Jk(GqoisMpBHfV6?f;8{(9pwpIc{f?8-bqxNylP;V_S&Z^e5GOL52W85q# z`ix>}{Mx^{%9+<}M%UNUi53aYZhrshiK61DV@C1t+|9~Tezc?(_gb2ozpbq3nzNK2 z$Y;`wuAD3zj<%@IXtsukqlRHRildnZ0w%{ztCU(OW6dcp-*AksWVEhkg*iuElxQ=f zRvtv=QR1|buI8$2VYH!pyej#WV`)ZdIG5|0;d00cx`wtgiYdh+e+{Ee-L=c)Bg5W= zYZJ7cBt~n>mo1OK>-q$BQx7Alq&j>CR?yMi%1DBC zQVLs(*;r(E&Yu}F$}nG5CP4$Vi%}fU`BJ)m$VrrCw8g(An{#qS3|TV@ma5pQ-2%(< zpSC!Cl_2L05V@-HsBNp3lb{j0kx@c%uf|SdyRZ_Gh=&ew7smJ#*ic3+$Ea;i(ew$` zww01=ryAuM^+a(;CY{fwCAyhW-}JmHhnA%nvIcc!&6W-IlxoR~$Q{|4$Ng+NSl~cJ z6Q*H8iNHO!EQ&xp**UEhR9TsG5Ohk_^_(Gdi_7zhEuY|W6@&1J$l>`SZ)J4n%Hc)J ztnO$8C`SEJ6ra$HvYp8fR5V++c)`_3-O8Ts_QY9NDEny$grh~nCl`l zr(I^$tpgDu29`r0v}r+m+jbGeWvjBRidsVm9Q9dG*wc*mM}*w995Q8?`4z`!WJ#_gzE>Sf?FW5oq-!7?^+f$U!1d5p(_c)3-@=>dGX5W*O*g^UPeC5 zqZ2F2L9LOw#R6&2e{C1IeoWWSXjWwt2l9I)`YxmO-hEyN_;Mypqhz9$ljwUG3uFl5 z*p~%DcO?qs)BAH#I}zynjJj~2pC&#j2XeU2e(Y)aB z$AQl9i+v_5L43C2YA;6lShDvb#e3hR#IcLC=5=a+1^1e0Ek4({^U;}NPCI6H z;9kO;L!H!xE7Wj|HQ~*K2xtZH&EI_3gXZY_dzQZK^xBj_NmIF9Uv@o{?T z3c88D29SP=)7NPfXbcM#AwKLQ4pkA8@#H{##(kV|Ovrc@$hJTL8BN?Z=-0N=9@-XS z9P$}=R2X-L7!L>;1u`}_lJOu%JS0Ty0m2Rl*AE$Y;xh#q(;>t?b!8lnj@UrOiIr6x z1i}yyZvf&j5J!M`V`Rj`Q4yPxUG+EGRq=>W#eF~=1L6T79t2_zh=(F0P6`pv`DV;k z%~(HQrbaquCi>z+z#{;h1mH9Pj{!`fPyyg901E&tMh5(b5b#TnpGK&(|!6C&28N&^)=M6nYe2jCL`d=h{^2H;QN#HT`l^;2a*2>5u-!E!v= z-l*OzauLmCB5uX|iJrzW@eGc?r*XhMiv#94)bQs~zhA%s^J0j#{sD6`GHbjMtHoKD z*G7-^C9u8>)|bHg3RqtS>uX?r9jq53vpSJkrT>HVEwH`~*0;d=bFjV(*7v~rOR)Yb zGHY4L`Xk>1)&A#rL)24T)-ys2TmtI*l%z|r>#t$g-@vZFggqc%M)Ncz>AFDYfk2g0$y=S6tdFp#s{TQHs z0qDm7{VPEK2GG9)^b?eTPeY*L5)f!wJuUAOf{IH(gRV%}TY9XYf%S7(^)p!Y3t06Z zuR%F9G)pS%p@u*Q%qQKESQ|pvbDMiQ=r8lKAdqEwrA+sFz99&su4a z#Y3oJtJaqOhlHrLXZ+cgWUT%HdXA%>Uxw=bSHac-u@i{vfQY7;Z2;oN6%d1+ub%Ob v2oY;frv`{n^U)O=Ikp9WG61&%a2o)xrQK|M2rz8TK*Opve}J>2i5~kOWK|2Y delta 275 zcmZXNOAY}+7=){5hM|r3`v!<)A}mEB5+@J~8xcAl3zC_(b_0nxi50PM04K5%HApOM zs`~G$|NHlihbiyR>kU8?<%8^%!|mmIsXGE@r8*R_dYhS&FcCf6#&Jh0Uk?^);BEEd z*cWa~B7>ZbtUzkx&E3_O%Wl{Am8Tu#Q4o-m_rw)NTxC=p9;dRt0}Kd+5T@EZ@6rW5 zR68Sb;=_QX263P!})MWAoSr?>#Ajv9-w1^_C^hYZ)Hc)y2 D;W;H; diff --git a/src/fi/oulu/tol/sqat/GildedRose.java b/src/fi/oulu/tol/sqat/GildedRose.java index 8d48732..b91d436 100644 --- a/src/fi/oulu/tol/sqat/GildedRose.java +++ b/src/fi/oulu/tol/sqat/GildedRose.java @@ -6,7 +6,7 @@ public class GildedRose { - private static List items = null; + private static List items = new ArrayList(); /** * @param args @@ -15,7 +15,7 @@ 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)); @@ -23,12 +23,12 @@ public static void main(String[] args) { items.add(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); items.add(new Item("Conjured Mana Cake", 3, 6)); - updateQuality(); + updateEndOfDay(); } - public static void updateQuality() + public static void updateEndOfDay() { for (int i = 0; i < items.size(); i++) { @@ -104,4 +104,19 @@ public static void updateQuality() } } + + + public void addItem(Item item) { + + items.add(item); + + } + + + + public List getItems() { + + return items; + } + } diff --git a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java index 04a5d2d..3c5b15b 100644 --- a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java +++ b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java @@ -1,12 +1,295 @@ package fi.oulu.tol.sqat.tests; - import static org.junit.Assert.*; 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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.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 +GildedRose.updateEndOfDay(); +// Assert +int sellIn = store.getItems().get(0).getSellIn(); +String failMessage = "SelIn decreases by 1"; +assertEquals(failMessage, 1, sellIn); +} - @Test - public void testTheTruth() { - assertTrue(true); - } } From d3579cf34d42977f3e00c421cc4e0259d431674a Mon Sep 17 00:00:00 2001 From: Toni Date: Mon, 17 Oct 2016 14:56:45 +0300 Subject: [PATCH 2/2] Assignment 5 Finished --- bin/fi/oulu/tol/sqat/GildedRose.class | Bin 2672 -> 3017 bytes src/fi/oulu/tol/sqat/GildedRose.java | 93 +++++++++++++++++++------- 2 files changed, 69 insertions(+), 24 deletions(-) diff --git a/bin/fi/oulu/tol/sqat/GildedRose.class b/bin/fi/oulu/tol/sqat/GildedRose.class index 6944c3703131dade2cf095e6380ee95c475a3551..e9a29c518dc343f3082c40f3ed58ee069ab7e165 100644 GIT binary patch delta 1453 zcmaKsOKePG6vzMH%pH@ty_wdiX;blNN=!8ok2F;cLMt&;sH#UjYIJVfOJ6!u+In2# z5j$cQm>>wcvG9n-Scr`Uv9*xcS+KCM5E5zdKX=AtMux?`-@WHM=l4J7eCOUTrLW5L z*FT><2e1^U9_mlrw!#(zt=OvIUl)nBn?nOF!;xMqKB}OF!qx3M6t)@IjvWfcO=jni z8Ht&BF5ASV-M}t^loPVWjCA&x(T$N2t8ch3<10>k4D59{;r>4y+tJby!af5L>{sx0 zoAFk&w>R9c;0{%XB`|8hltBNV1kw(&)oq|hgmnt99T~KS%&5=~7&s_2owRHQA@mvO z7myyym}kUCi?9fT1`dh47PH1o1!eIHC*oRFVwF~xxU4k?1$x}T35oVGI-Nn{gSK25 zk7s#IWvl0K!^PHqcQ=gV(<4l+NTJDv7YH>6YHKF2ZUW6oR0kTe&oe8Yq9uv8Kz-H} zrm1ZlYq;!8qJhiqY`|62(66JU=r;W6eXs00wkdYLF$XD5oxHk|*qoC{eU_WVOfsw+ zSez3zj}c5{mPlH1MJLcZo+o?;s)A*vFraYD{uOx0;@z0W`w7hEy%HW&A%J;UfcaRA zYOFvFR%0QW__l#FxCynKn>s{M&+}@)09Ijy9yS_r8tZWZ%}CHIi5A@Bm_9-qQXIyY z*ojxzjW_7PJI>8}L~VRP7d}$-8&Rc{5Arlz_=+LK_!huh#4*f~In1}|@J+&_Cb80s z(1K~j%Zh(McR`n7qDv87S{SSZlY5eE|225r_qF@nN!RM<3Jls*I7Ho;qiv)^Guoo) zhAJhWpW6TVJcdI2G2)LBef(c|JI&`;nBli(@-NTN-zr&hyP(2ZlFzYe=W`Uw^9u+P zeS`;;ZcwAsU!aHrHL1jB-*o#TE4<{yOY^x!UKv+;N;h9&6l2`;(&l1C(&>c+N~bk~ z9yoTHp(&2-N=`OfhUSysQ6`B^(pY*|N|lMZ-e9Ap$)w6Gx|~_molLG_4zB00Dl?V& t27gLC(GcoSWp_D#+mxm$pvIQx?M$={A`1quKF delta 960 zcmaKr-%C?r9L7K2cW1`VcCnUd4Ge}v#p$A=5spT>oob(tYmU^T zrSU{66`gd@0Uy^LjYn$=sFym1d<;8WV>&sP5G1KrRO}t&r2Wwd*$wVa`?0%KD%Re+ z6Ef!N#6UnTy4qIMgFw?Ob_drvt9U~=OGlQ@CB_16<=|K;Xg!y`ftFG%uNSd5&0vjX zjArRtVY`%K`5Ttmav1HFF{BygnmxrXRrUJ4%QTl_d8b;(=~%(3wA|~j_>V+?UcPy` z0mz$XdYu9K|1f>Vr}CjaDL2Owe}%?!+0d9TZseTpcc$t272w!(7kl(R$9}zsa8s-A?E%_3L_ZPkag+?lv8iWGSGH(kn`XY! zA^}dxK~766XQYn~nc}=Ga8X_olMO8SKwLi4B|G$}Sdczd!+^TLpt{6}8evr3C!`ig zQmI?}^i@>q5hL8tZ=-ru;rWJJa?Ivf%yI5Sj`_MqrFjX)?0x3p`a76R<<(Uvt?+71 mwSGFMaV9iVwEIn6+odtZEjw+7YG!`-L;nB;g^ 0) + if (HasZeroQuality(i) == 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); + DecreaseQuality(i); } } } else { - if (items.get(i).getQuality() < 50) + if (HasReachedMaximumQuality(i) == false) { - items.get(i).setQuality(items.get(i).getQuality() + 1); + IncreaseQuality(i); - 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(i) == false) { - items.get(i).setQuality(items.get(i).getQuality() + 1); + IncreaseQuality(i); } } - if (items.get(i).getSellIn() < 6) + if (item.getSellIn() < 6) { - if (items.get(i).getQuality() < 50) + if (HasReachedMaximumQuality(i) == false) { - items.get(i).setQuality(items.get(i).getQuality() + 1); + IncreaseQuality(i); } } } } } - 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); + DecreaseSellIn(i); } - if (items.get(i).getSellIn() < 0) + if (HasExpired(i) == false) { - if (!"Aged Brie".equals(items.get(i).getName())) + if (!"Aged Brie".equals(item.getName())) { - 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).getQuality() > 0) + if (item.getQuality() > 0) { - 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); + DecreaseQuality(i); } } } else { - items.get(i).setQuality(items.get(i).getQuality() - items.get(i).getQuality()); + item.setQuality(item.getQuality() - item.getQuality()); } } else { - if (items.get(i).getQuality() < 50) + if (HasReachedMaximumQuality(i) == false) { - items.get(i).setQuality(items.get(i).getQuality() + 1); + IncreaseQuality(i); } } } @@ -106,6 +108,37 @@ public static void updateEndOfDay() + private static boolean HasExpired(int i) { + if (items.get(i).getSellIn() < 0){ + return false; + }else{ + return true; + } + } + + + + private static boolean HasZeroQuality(int i) { + if(items.get(i).getQuality() > 0){ + return false; + }else{ + return true; + } + } + + + + private static boolean HasReachedMaximumQuality(int i) { + + if(items.get(i).getQuality() < 50){ + return false; + }else{ + return true; + } + } + + + public void addItem(Item item) { items.add(item); @@ -118,5 +151,17 @@ public List getItems() { return items; } + + public static void DecreaseQuality(int i){ + items.get(i).setQuality(items.get(i).getQuality() - 1); + } + + public static void IncreaseQuality(int i){ + items.get(i).setQuality(items.get(i).getQuality() + 1); + } + + public static void DecreaseSellIn(int i){ + items.get(i).setSellIn(items.get(i).getSellIn() - 1); + } }