From c07c14e956a695241eb911830d28d16fc8f4e596 Mon Sep 17 00:00:00 2001 From: jon bilbao Date: Thu, 8 Sep 2016 16:28:46 +0300 Subject: [PATCH 1/2] test --- bin/fi/oulu/tol/sqat/GildedRose.class | Bin 2380 -> 2131 bytes bin/fi/oulu/tol/sqat/Item.class | Bin 1034 -> 1034 bytes .../oulu/tol/sqat/tests/GildedRoseTest.class | Bin 504 -> 2902 bytes .../oulu/tol/sqat/tests/GildedRoseTest.java | 123 +++++++++++++++--- 4 files changed, 106 insertions(+), 17 deletions(-) diff --git a/bin/fi/oulu/tol/sqat/GildedRose.class b/bin/fi/oulu/tol/sqat/GildedRose.class index f244eba73874c91f18244a292b7f88cc3b4b5f80..b904cd2a2f60ff47b023e9e0b84ddbe56eddc526 100644 GIT binary patch literal 2131 zcmbVMOK%%h6#nkmi60qa*C}amn|9Jbu$vHv7D7{p7RPxuu0!g`sD(vu?6Es#Vkh$e zr9wgic3q&h3q*w~5fUv69~hLv6^Zw z!ISZ;q=)9k*i~4gBU|X#spp`g$N?cH>hie zpEkfj$ytV0DJO$8k8k?$M$@>}d@?45I^F7)&2`g{vou&UyzrrE@v^FHa??~z#i}Y? zSxe0?r!r?J=GM|mp;{@Z25of==VT-?%@8CCtAwFh+s=?J`9aeb&Dna%Hn=&aEb>ZG zsg{(>oJQEFnj-lf87a(Avgu0pk`j60os}^spaTS*Q+0i*BCHEC7DY~ga%xr~=0zFH zBGzkaH%SJj(X&M3owH~&m-uFVeuKHHZ4}gbO-y*GF=gYTkr<)_;i1z@gv6}1L{Kl*T({M3E))4wR2CM=2GJ(N4Tha(c+YZMPUt}t;tLkNGv~>qNor&CX7jmx~-MQ{IyVn%b@>y%=bLssBSd`HAKzG2me}62FiN`sk zH|Y?7?u#x&=~6sK7tC>d00p057@uMUcM-!wx|jFqrg?&K{DBD;p__9Alk6Pbj#qJk zZ6U>OW0rk~dG;8K>{nc5zazu`L{^GoRT{*aw2Zuz#T98C?@OOyK)Q`<|D7I5`Vtvj iA|6?K`VshxZju9RAK=ab7A6mHYvPPJm@DL!@b16uzSTPb 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..86c608e1a130d3506ba1bc783f500e2d34d0181d 100644 GIT binary patch delta 30 gcmeC;=;GLLiBXV&ft7)c0R-3?I6&0q$BgPs08#Y>lK=n! delta 30 jcmeC;=;GLLiBXV|ft7)cfq{XMft`T^L~nk~sLlicQXd4C diff --git a/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class b/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class index e44e81ce2b232358b6069c215dc740c0984c2b8c..7a12af9333f3154c05b925a32728eca28f77fdc5 100644 GIT binary patch literal 2902 zcmb7`?Nbw16vm$$2w7vS5%2|2S$wGpK@%u1p+Rdv)JRZ-h(m1~7qY~~u#20G1Jic; zssBo6>bHIoTW31`+&`+*=jJ^oOA8-%b93%J=lsrj&JBP6^T(e6zQCpr9)auIM${@5 zN>RruM2l}UC+g@$rx<-;6moiQ)hg;4u6^hh2<~WawP-;z^U)`pJNlL*&@*S4hI2=t zD->QA=w7gLx*uIQ5r7vx0;ki4sXs35Zt8YM+brk;y=iMpE39j_A=lL}yPa1?QQ$`U ze-1w(n^N*<@bN&D(~aeOl5AhI5b|k7dWl1qN12reo~t>qgOF z$fRjnj^-Ga$%w(UW#^+iB|=0cXTpbGfuXiE8rAUQ3{LoPR^V*gu9TziDmX82Lgu2% zWc=vIfGozK!1++RQNcCGHq3k?l?ty*mlp%Lgv$axEtivS1O`Lx)sU7%<$xN%h^+8u zrIsp4UsnUThU)@KUU%dPa`uM8mDnZ6C`8i+Nl)Si!ajuPqMTLT62K@T>?ltYGL)*G zZ0dW$O99EhlM*i)Kn$$2p9iX?FY6)Yr^u#!m}Hq7RZbR*y6projTwP}R$eW>VaJ%I zH}vR{l#wUDDsZVCztIIsKrx6WNn{sW32Ii^0G7SoQMrx+=UTORuvgRLr^T9cadF2* zifg69cFER?bt%SU*?3IBJlk5cjj0bcGpAbH>Z+DEHQOrIs=C6tslinp36#h36U8rB z=1$4hbIY2kEoiSB%Ad|oDR{`X*LJ9Kiz@fjf_SSHlm>xY9p>qtzVGNZ2Wg#yQ74(; zP|YfMEN~_=rPlYTa#PKBAB_^AZk0xkcZVQtLreG6g*;s|3B)=aoY%Hq7ac9HuSg9w zD$V>R#uZRS;rbSJue?WfELBr8$@@#mbUe10Sx~nubBk)M<;|h)lacEOE53P2c1U2c zVC)-qy)HA^X$9XV^q%tu{fD^l9z!269C?o`%VS-?<8u%GLjU7_jNN>X zTR(rmgbdwP4t=@oZV(EFZ~>S39D#}}h~O&6{aQJt(MqUlN(w3Bm}P1z&f`lYm|ldo zIozhtJM=6ODz>j^6S#XEgk)E6txAuR{}!Tuu{p13ij$gqR~ zEaM_psHLYE!zyNwX<~@il@zNgX{4^CG1{KCFjQ<6C9QU3_@&A)*~)Ov+vQ5&cgz1d z^WR`LFEEJjFpMmJSYOJ2yqfZ#tmi*g&3_nYtCKLwsak8vzhbN8pXr#tOAnp}PaoNX z=WYx-8S?Cb!5$RYgI)H(WDoY582+mV8!ZgYJ@~pKgUf~VLJ9g@o6wJM-4GliyyYnD ka}>VkDEz=t_>rUVQxn2Wy$zi&q-+a9^M&-1my`$EzbFYvyZ`_I delta 167 zcmca6_Jf)0)W2Q(7#J9g86+oi?dIhvNi8l3$w&<;DlN&F_+H{M items = store.getItems(); - Item itemBrie = items.get(0); + List itemList = gR.getItems(); + Item itemBrie = itemList.get(0); assertEquals(11, itemBrie.getQuality()); } - + + @Test + public void testUpdateEndOfDay_Sulfuras_Quality_80_80() { + + GildedRose gR = new GildedRose(); + + gR.addItem(new Item("Sulfuras, Hand of Ragnaros", 0, 80)); + + GildedRose.updateEndOfDay(); + + + List itemList = gR.getItems(); + Item itemListulfuras = itemList.get(0); + assertEquals(80, itemListulfuras.getQuality()); + + } + + @Test + public void testUpdateEndOfDay_ConjuredManaCake_Quality_6_5() { + // Arrange + GildedRose gR = new GildedRose(); + + gR.addItem(new Item("Conjured Mana Cake", 3, 6)); + + GildedRose.updateEndOfDay(); + + + List itemList = gR.getItems(); + Item itemMana = itemList.get(0); + assertEquals(5, itemMana.getQuality()); + + } + + @Test + public void testUpdateEndOfDay_DexterityVest_Quality_20_19() { + // Arrange + GildedRose gR = new GildedRose(); + + gR.addItem(new Item("+5 Dexterity Vest", 10, 20)); + + GildedRose.updateEndOfDay(); + + + List itemList = gR.getItems(); + Item itemDexterityVest = itemList.get(0); + assertEquals(19, itemDexterityVest.getQuality()); + + } + @Test + public void testUpdateEndOfDay_AgedBrie_Quality_0_1() { + GildedRose gR = new GildedRose(); + + gR.addItem(new Item("Aged Brie", 2, 0)); + + GildedRose.updateEndOfDay(); + + + List itemList = gR.getItems(); + Item itemAgedBrie = itemList.get(0); + assertEquals(1, itemAgedBrie.getQuality()); + + } + @Test + public void testUpdateEndOfDay_BackstagePasses_Quality_20_21() { + GildedRose gR = new GildedRose(); + + gR.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); + + GildedRose.updateEndOfDay(); + + + List itemList = gR.getItems(); + Item itemBackstagePasses = itemList.get(0); + assertEquals(21, itemBackstagePasses.getQuality()); + + } + @Test - public void testUpdateEndOfDay() { - fail("Test not implemented"); + public void testUpdateEndOfDay_Elixir_Quality_7_6() { + GildedRose gR = new GildedRose(); + + gR.addItem(new Item("Elixir of the Mongoose", 5, 7)); + + GildedRose.updateEndOfDay(); + + + List itemList = gR.getItems(); + Item itemElixir = itemList.get(0); + assertEquals(6, itemElixir.getQuality()); + } + + + } From ef1934f59bfa49844fee301544365b07574f3b84 Mon Sep 17 00:00:00 2001 From: jon bilbao Date: Tue, 18 Oct 2016 18:06:46 +0300 Subject: [PATCH 2/2] finished --- bin/.gitignore | 1 + bin/fi/oulu/tol/sqat/GildedRose.class | Bin 2131 -> 3519 bytes .../oulu/tol/sqat/tests/GildedRoseTest.class | Bin 2902 -> 6256 bytes src/fi/oulu/tol/sqat/GildedRose.java | 212 ++++++---- .../oulu/tol/sqat/tests/GildedRoseTest.java | 370 ++++++++++++------ 5 files changed, 377 insertions(+), 206 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 b904cd2a2f60ff47b023e9e0b84ddbe56eddc526..867e60e3f922c90fa68a48425bc7b25340888614 100644 GIT binary patch literal 3519 zcmaJ?ZF3vd6@J!ldhyzk729bYXcd}(YzIUDQ&Kr8j`JoWJ1=rgR%xZYnQx&Z?Aj>55a+5p)?yEUQ(OsVKXgxp;k9 z7d->rmZz&Vn)1G_?pc*g-l}<71F?ctwv|_RwSmzc=E?l7yK)4|o}^!NvRJWf%R6bH zGd((QpljMG=@<<3ndnB3fqi+)*0c5Mb?wfn>lNZB^G;D!=9O#7cevRz>BGd)iKK}H z;)L>+EJpkA?(3VWGK8+GvTOsx>1#pUe#!;Uwd`_sbUub}U?hTXZX=|yUSk3#4&ouk z?bON5P~dDinM?Ha=&w~Z8^yN_L@v&pJ3o~>6h{h=L~zK!exJYXXH9$uhk1BK+$#)d zDBUie2p(XpU1t7=D6=apTOGglO)QGC9}Vc6oiB`CeGpZ-QAW1(wqk;U>9i^aNqEy%nC zam~b!B#46yV%G7lXjNR&r5UwmRqNFdPR_k#;wN(1fMxHvOsvYpbwN2ml)SFhB$YE2 zy{heku2gcioGF>ma%QmQOu<@f9w?hwk}F1<`2@yhI)bxo;)dW1wcrSCO&~S^TY&m` zqJ>Z?{fdd3pgJNn&H7blcUxe|DV!?f{~E$6$bv_G&!`o@t;ys3sfjhL6RNDeKmpqY z6LzXNevV&6aBF*?^1GOcU&<@((Kjh`ma5yPkfx-M`qFIecXHvYCSJpD48(cimPQzU zPK>Xccmr?JSZgtMrP(CJ`j&~`iEE6m4W80?+r&HK6QfVC%WT*(M5BC5JS)E#ShDdF zS|`i+uFbvXNxb0H-J(8g$)MQR?DJ1ZsyM{Dc5(l>IM?7hO zv}-e)*w+U0L{Fk;>*$yGelwXdW(%LHB$7-c%|s?Kgv(515eIOKv+_NR-~$du;V4M> z4o+d(Pnaz?NZ42(f6j+eGb9mXBh;PLJ{|3(pc zK(0F|<{a>V-yIR8{f{F9V?7VZdT66|IZ;BLz~nIk8%WuKfFkxhJCk z6<*;gzvO1VW|;~h)J5_k;vY;NCvPlV-`LnDe%)2t#BZBy_4{v6)3Z$REN^8)zm{x> zw4X=VqW1*9E#SZ330|eAL-3n>gLA}$;K#$rdxL;q4g(Ho5Z=IK<5+FM>kWgA$wUib zp65v+pik0HJoOp6yFTv}J_DTujbp6^q;Gr1y^Nc)Bt)AGgX;H#637OTt#RE#9~*n~ zo%L_U#c>}Zo#ZNU^$N%*ZKHan1)`CfsET!nF)Gf$HdwbmYK!&S-dLR7AyzA2w-deX z`Ff)TtqotC@@>(2+M~U-7n*^0x7feTT1wrAwl!hCerdeTW*DgXZHnU^>i1nAJ$Nfa vVTUJ#UlMsMe_&&jM<_4seSgLr_6q}au?7Cc-*1kX_k1)7!oVMW+Xw##3nk9L literal 2131 zcmbVMOK%%h6#nkmi60qa*C}amn|9Jbu$vHv7D7{p7RPxuu0!g`sD(vu?6Es#Vkh$e zr9wgic3q&h3q*w~5fUv69~hLv6^Zw z!ISZ;q=)9k*i~4gBU|X#spp`g$N?cH>hie zpEkfj$ytV0DJO$8k8k?$M$@>}d@?45I^F7)&2`g{vou&UyzrrE@v^FHa??~z#i}Y? zSxe0?r!r?J=GM|mp;{@Z25of==VT-?%@8CCtAwFh+s=?J`9aeb&Dna%Hn=&aEb>ZG zsg{(>oJQEFnj-lf87a(Avgu0pk`j60os}^spaTS*Q+0i*BCHEC7DY~ga%xr~=0zFH zBGzkaH%SJj(X&M3owH~&m-uFVeuKHHZ4}gbO-y*GF=gYTkr<)_;i1z@gv6}1L{Kl*T({M3E))4wR2CM=2GJ(N4Tha(c+YZMPUt}t;tLkNGv~>qNor&CX7jmx~-MQ{IyVn%b@>y%=bLssBSd`HAKzG2me}62FiN`sk zH|Y?7?u#x&=~6sK7tC>d00p057@uMUcM-!wx|jFqrg?&K{DBD;p__9Alk6Pbj#qJk zZ6U>OW0rk~dG;8K>{nc5zazu`L{^GoRT{*aw2Zuz#T98C?@OOyK)Q`<|D7I5`Vtvj iA|6?K`VshxZju9RAK=ab7A6mHYvPPJm@DL!@b16uzSTPb diff --git a/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class b/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class index 7a12af9333f3154c05b925a32728eca28f77fdc5..1338642af4d65df2586e8f47190adde10c71af1f 100644 GIT binary patch literal 6256 zcmbW4TWlQF8OOilOLo29#9L!>CFzg`-)h)hI|dh+VTKGKwm0E+lQ(u@BsYJ+;;3eyBe_N zwP((p`F`L3{J-xUzy0MaZxB%*JrJWhM(50`X``f-(zcZecAN9GGjApv~0sv7;PS{cun~QgN#-Usk&R8P%Gicvg9s~K&o@rDE?skw=OkfcUh#i(Ue)s_9F#c9Qyl&3Wiw2m4xvNk1~ zD!=w_HrR8j#i*l_PLw1#JNW(5;eu={mzQKswU6b8i%MaqsVaH@MsGfwVYFeqq}%GE zGNoE70uJlCVav8^=!lmZHOyjqzJ!$1T)n{S7cxDmI^h1X?@0+|VUk)zYIXQfQ{{)44I~VYJ493PzH29;LCcn2j7ebKcC5 zO$K>V*(CK+AEN}G^OSVlkc(44qb=So$(WS_EhJT+F%{WTtVS4?e>ErQ2Lv@QgvMow zhb>Dn?IaD+MU0ZNb2V}V%ZE%v8t&W2Js9IpV1XI29HZu0S=GiA%aV(ZnJR>5)EU7W z*-XAa6Q@fU^-RtwQYb4~msE%=sg|TGONuEiqHrX84)^;retx~t9GHOv;{@uF6+r~j zN%m27Mv>%M8!;yoP0Q&Lx3@GWThd`JR>6;+j2fM%xS!FX>d{3>mX|XE69kMP_n4}e ztZcqF5O6J{_8Rlt{PVnmxhE%+bOrZh6Flh-#pz0zI4n~^@jQqoW;yaj3Xyf1L=E9(VbJmYdvmrcWplgy|)=M+@0jGuBDXEP|QV}X)qMn%pz$mmsjA~N)@ zWI$xYgz%Q-5C~gUkW`@60OCe`)K&E;qumh^`y52HH(#dyWrTjmSr;*WpCi%r-!y(` znU=?o7}i~xn;2zotk9dkAWnBNTI=5DjRd(!V}@QdZ~~0e zJs9&f@WWWk;^0swh~u$)Q_*-4=RQVlxX4 zkMGDh^We~cg8;)14ubexi@$M%#Ag$(c4Cx|rMgd1qWe`!9y~>BUZj?1aj%ZPgU>b2 z{8iL|SuJ=&EAA!TIdlfK;R+i7-dBe=6UK3bz;FKUJ8;Eg_jSKOEw9r0gRL7IQ;Ab_ z)=Tu=)AYU5)L#EGb=T2vY5hx-8EV}=*3(AkZ@S|&4V1%gbfA+6wFUuF)DEaFK=k4c zN0HnR9!fi{rX6%KAi5|)Kcrz`F(fI%yVJwlUdBr$QoYsrc5%KDA>TR(u>py1q7FKX zx@j~1UDy)h+wSpo1bp2gzCA)dfqeC~f_6hN}BK$VU*N*QFNYe@VxQNl@8;y=v zL%p%;>YWR`H1M*(<6wRG+#VV4vZ#1!^1?sNMkZE(G2X@Gb)04&YrJ8E;&O zcbjLvY}tI(Yhz-lb!x09A%xonxDmkZ0o-1|w~8)4)6h%vXT<8Zci6<{Q9#Gcx84Ld<(BcD{xBT9`ME z^{gy$*P3qu@^^rI3y{ADgl9vS^Br*h z8PfcqR){2~MwwxX|H*@{2IzEDT^ Fe+}bW7+C-S literal 2902 zcmb7`?Nbw16vm$$2w7vS5%2|2S$wGpK@%u1p+Rdv)JRZ-h(m1~7qY~~u#20G1Jic; zssBo6>bHIoTW31`+&`+*=jJ^oOA8-%b93%J=lsrj&JBP6^T(e6zQCpr9)auIM${@5 zN>RruM2l}UC+g@$rx<-;6moiQ)hg;4u6^hh2<~WawP-;z^U)`pJNlL*&@*S4hI2=t zD->QA=w7gLx*uIQ5r7vx0;ki4sXs35Zt8YM+brk;y=iMpE39j_A=lL}yPa1?QQ$`U ze-1w(n^N*<@bN&D(~aeOl5AhI5b|k7dWl1qN12reo~t>qgOF z$fRjnj^-Ga$%w(UW#^+iB|=0cXTpbGfuXiE8rAUQ3{LoPR^V*gu9TziDmX82Lgu2% zWc=vIfGozK!1++RQNcCGHq3k?l?ty*mlp%Lgv$axEtivS1O`Lx)sU7%<$xN%h^+8u zrIsp4UsnUThU)@KUU%dPa`uM8mDnZ6C`8i+Nl)Si!ajuPqMTLT62K@T>?ltYGL)*G zZ0dW$O99EhlM*i)Kn$$2p9iX?FY6)Yr^u#!m}Hq7RZbR*y6projTwP}R$eW>VaJ%I zH}vR{l#wUDDsZVCztIIsKrx6WNn{sW32Ii^0G7SoQMrx+=UTORuvgRLr^T9cadF2* zifg69cFER?bt%SU*?3IBJlk5cjj0bcGpAbH>Z+DEHQOrIs=C6tslinp36#h36U8rB z=1$4hbIY2kEoiSB%Ad|oDR{`X*LJ9Kiz@fjf_SSHlm>xY9p>qtzVGNZ2Wg#yQ74(; zP|YfMEN~_=rPlYTa#PKBAB_^AZk0xkcZVQtLreG6g*;s|3B)=aoY%Hq7ac9HuSg9w zD$V>R#uZRS;rbSJue?WfELBr8$@@#mbUe10Sx~nubBk)M<;|h)lacEOE53P2c1U2c zVC)-qy)HA^X$9XV^q%tu{fD^l9z!269C?o`%VS-?<8u%GLjU7_jNN>X zTR(rmgbdwP4t=@oZV(EFZ~>S39D#}}h~O&6{aQJt(MqUlN(w3Bm}P1z&f`lYm|ldo zIozhtJM=6ODz>j^6S#XEgk)E6txAuR{}!Tuu{p13ij$gqR~ zEaM_psHLYE!zyNwX<~@il@zNgX{4^CG1{KCFjQ<6C9QU3_@&A)*~)Ov+vQ5&cgz1d z^WR`LFEEJjFpMmJSYOJ2yqfZ#tmi*g&3_nYtCKLwsak8vzhbN8pXr#tOAnp}PaoNX z=WYx-8S?Cb!5$RYgI)H(WDoY582+mV8!ZgYJ@~pKgUf~VLJ9g@o6wJM-4GliyyYnD ka}>VkDEz=t_>rUVQxn2Wy$zi&q-+a9^M&-1my`$EzbFYvyZ`_I diff --git a/src/fi/oulu/tol/sqat/GildedRose.java b/src/fi/oulu/tol/sqat/GildedRose.java index 24741c6..9842a54 100644 --- a/src/fi/oulu/tol/sqat/GildedRose.java +++ b/src/fi/oulu/tol/sqat/GildedRose.java @@ -8,91 +8,141 @@ public class GildedRose { private static List items = null; - public List getItems() { - return items; + /** + * @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 void addItem(Item item) { - items.add(item); + + + + public static void updateQuality() + { + for(Item item:items) { + if (!compareName("Aged Brie", item) && !compareName("Backstage passes to a TAFKAL80ETC concert", item)) + { + if (hasMoreThanZeroQuality(item)) + { + decrement1QualityIfSultaras(item); + } + } + else + { + if (hasNotReachedMaximumQuality(item)) + { + increment1Quality(item); + + if (compareName("Backstage passes to a TAFKAL80ETC concert", item)) + { + if (hasLessThanElevenSellIn(item)) + { + if (hasNotReachedMaximumQuality(item)) + { + increment1Quality(item); + } + } + + if (hasLessThanSixSellIn(item)) + { + if (hasNotReachedMaximumQuality(item)) + { + increment1Quality(item); + } + } + } + } + } + + decrement1SellInIfSultaras(item); + + + if (hasLessThanZeroSellIn(item)) + { + if (!compareName("Aged Brie", item)) + { + if (!compareName("Backstage passes to a TAFKAL80ETC concert", item)) { + if (hasMoreThanZeroQuality(item)) + { + decrement1QualityIfSultaras(item); + + } + } + else + { + hasZeroQuality(item); + } + } + else + { + if (hasNotReachedMaximumQuality(item)) + increment1Quality(item); + } + } + } + } + + public static boolean compareName(String nameA,Item item){ + return nameA.equals(item.getName()); + } + public static void decrement1QualityIfSultaras(Item item){ + + if (!compareName("Sulfuras, Hand of Ragnaros", item)) + { + item.setQuality(item.getQuality() - 1); + + } + } + public static void decrement1SellInIfSultaras(Item item){ + + if (!compareName("Sulfuras, Hand of Ragnaros", item)) + { + item.setSellIn(item.getSellIn() - 1); + } + } + public static void increment1Quality(Item item){ + + item.setQuality(item.getQuality() + 1); + + } + public static boolean hasNotReachedMaximumQuality(Item item){ + return item.getQuality() < 50; + } + public static void hasZeroQuality(Item item){ + item.setQuality(item.getQuality() - item.getQuality()); - public GildedRose() { + } + public static boolean hasMoreThanZeroQuality(Item item){ + return item.getQuality() > 0; + } + public static boolean hasLessThanZeroSellIn(Item item){ + return item.getSellIn() < 0; + } + + public static boolean hasLessThanElevenSellIn(Item item){ + return item.getSellIn() < 11; + } + public static boolean hasLessThanSixSellIn(Item item){ + return item.getSellIn() < 6; + } + public void addItem(Item item){ items = new ArrayList(); + items.add(item); + } + public static List getItems() { + return items; } - 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); - } - } - - 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); - } - } - } - } - } } diff --git a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java index e075497..3af2fbe 100644 --- a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java +++ b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java @@ -1,131 +1,251 @@ 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 gR = new GildedRose(); - gR.addItem(new Item("Aged Brie", 2, 10) ); - - // Act - GildedRose.updateEndOfDay(); - - // Assert - List itemList = gR.getItems(); - Item itemBrie = itemList.get(0); - assertEquals(11, itemBrie.getQuality()); - } - - @Test - public void testUpdateEndOfDay_Sulfuras_Quality_80_80() { - - GildedRose gR = new GildedRose(); - - gR.addItem(new Item("Sulfuras, Hand of Ragnaros", 0, 80)); - - GildedRose.updateEndOfDay(); - - - List itemList = gR.getItems(); - Item itemListulfuras = itemList.get(0); - assertEquals(80, itemListulfuras.getQuality()); - - } - - @Test - public void testUpdateEndOfDay_ConjuredManaCake_Quality_6_5() { - // Arrange - GildedRose gR = new GildedRose(); - - gR.addItem(new Item("Conjured Mana Cake", 3, 6)); - - GildedRose.updateEndOfDay(); - - - List itemList = gR.getItems(); - Item itemMana = itemList.get(0); - assertEquals(5, itemMana.getQuality()); - - } - - @Test - public void testUpdateEndOfDay_DexterityVest_Quality_20_19() { - // Arrange - GildedRose gR = new GildedRose(); - - gR.addItem(new Item("+5 Dexterity Vest", 10, 20)); - - GildedRose.updateEndOfDay(); - - - List itemList = gR.getItems(); - Item itemDexterityVest = itemList.get(0); - assertEquals(19, itemDexterityVest.getQuality()); - - } - @Test - public void testUpdateEndOfDay_AgedBrie_Quality_0_1() { - GildedRose gR = new GildedRose(); - - gR.addItem(new Item("Aged Brie", 2, 0)); - - GildedRose.updateEndOfDay(); - - - List itemList = gR.getItems(); - Item itemAgedBrie = itemList.get(0); - assertEquals(1, itemAgedBrie.getQuality()); - - } - @Test - public void testUpdateEndOfDay_BackstagePasses_Quality_20_21() { - GildedRose gR = new GildedRose(); - - gR.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); - - GildedRose.updateEndOfDay(); - - - List itemList = gR.getItems(); - Item itemBackstagePasses = itemList.get(0); - assertEquals(21, itemBackstagePasses.getQuality()); - - } - - @Test - public void testUpdateEndOfDay_Elixir_Quality_7_6() { - GildedRose gR = new GildedRose(); - - gR.addItem(new Item("Elixir of the Mongoose", 5, 7)); - - GildedRose.updateEndOfDay(); - - - List itemList = gR.getItems(); - Item itemElixir = itemList.get(0); - assertEquals(6, itemElixir.getQuality()); - - } - - - -} + GildedRose store = new GildedRose(); + // Test Aged Brie + @Test + public void testupdateQuality_AgedBrie_Quality_2_10() { + // Arrange + store.addItem(new Item("Aged Brie", 2, 10) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.getItems().get(0).getQuality(); + String failMessage = "Quality of Aged Brie increases"; + assertEquals(failMessage, 11,quality); + } + @Test + public void testupdateQuality_AgedBrie_Quality_10_50() { + // Arrange + store.addItem(new Item("Aged Brie", 10, 50) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.getItems().get(0).getQuality(); + String failMessage = "The Quality of an item is never more than 50"; + assertEquals(failMessage, 50, quality); + } + @Test + public void testupdateQuality_AgedBrie_Quality_0_10() { + // Arrange + store.addItem(new Item("Aged Brie", 0, 10) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.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 testupdateQuality_AgedBrie_Quality_0_50() { + // Arrange + store.addItem(new Item("Aged Brie", 0, 50) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.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 testupdateQuality_AgedBrie_Quality_Minus1_20() { + // Arrange + store.addItem(new Item("Aged Brie", -1, 20) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.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 testupdateQuality_AgedBrie_SellIn_2_10() { + // Arrange + store.addItem(new Item("Aged Brie", 2, 10) ); + // Act + GildedRose.updateQuality(); + // Assert + int sellIn = GildedRose.getItems().get(0).getSellIn(); + String failMessage = "SellIn date decreases"; + assertEquals(failMessage, 1, sellIn); + } + @Test + public void testupdateQuality_AgedBrie_SellIn_1_10() { + // Arrange + store.addItem(new Item("Aged Brie", 1, 10) ); + // Act + GildedRose.updateQuality(); + // Assert + int sellIn = GildedRose.getItems().get(0).getSellIn(); + String failMessage = "SellIn date decreases"; + assertEquals(failMessage, 0, sellIn); + } + @Test + public void testupdateQuality_AgedBrie_SellIn_0_10() { + // Arrange + store.addItem(new Item("Aged Brie", 0, 10) ); + // Act + GildedRose.updateQuality(); + // Assert + int sellIn = GildedRose.getItems().get(0).getSellIn(); + String failMessage = "SellIn date decreases"; + assertEquals(failMessage, -1, sellIn); + } + // Test Sulfuras + @Test + public void testupdateQuality_Sulfuras_Quality_0_80() { + // Arrange + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 0, 80) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.getItems().get(0).getQuality(); + String failMessage = "Quality of Sulfuras is 80 and never alters"; + assertEquals(failMessage, 80, quality); + } + @Test + public void testupdateQuality_Sulfuras_SellIn_5_80() { + // Arrange + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 5, 80) ); + // Act + GildedRose.updateQuality(); + // Assert + int sellIn = GildedRose.getItems().get(0).getSellIn(); + String failMessage = "Sulfuras, being a legendary item, never has to be sold"; + assertEquals(failMessage, 5, sellIn); + } + @Test + public void testupdateQuality_Sulfuras_SellIn_0_80() { + // Arrange + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 0, 80) ); + // Act + GildedRose.updateQuality(); + // Assert + int sellIn = GildedRose.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 testupdateQuality_Backstage_Quality_15_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 15, 20) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.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 testupdateQuality_Backstage_Quality_10_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 10, 20) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.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 testupdateQuality_Backstage_Quality_8_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 8, 20) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.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 testupdateQuality_Backstage_Quality_5_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 5, 20) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.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 testupdateQuality_Backstage_Quality_3_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 3, 20) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.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 testupdateQuality_Backstage_Quality_0_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 0, 20) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage drops to 0 after the concert"; + assertEquals(failMessage, 0, quality); + } + @Test + public void testupdateQuality_Backstage_Quality_15_50() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 15, 50) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.getItems().get(0).getQuality(); + String failMessage = "The Quality of an item is never more than 50"; + assertEquals(failMessage, 50, quality); + } + @Test + public void testupdateQuality_Backstage_SellIn_5_10() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 5, 10) ); + // Act + GildedRose.updateQuality(); + // Assert + int sellIn = GildedRose.getItems().get(0).getSellIn(); + String failMessage = "The SellIn value should decrease by 1"; + assertEquals(failMessage, 4, sellIn); + } + // Test Elixir + @Test + public void testupdateQuality_Elixir_Quality_2_7() { + // Arrange + store.addItem(new Item("Elixir of the Mongoose", 2, 7) ); + // Act + GildedRose.updateQuality(); + // Assert + int quality = GildedRose.getItems().get(0).getQuality(); + String failMessage = "Quality decreases by 1"; + assertEquals(failMessage, 6,quality); + } + @Test + public void testupdateQuality_SellIn_Quality_2_7() { + // Arrange + store.addItem(new Item("Elixir of the Mongoose", 2, 7) ); + // Act + GildedRose.updateQuality(); + // Assert + int sellIn = GildedRose.getItems().get(0).getSellIn(); + String failMessage = "SelIn decreases by 1"; + assertEquals(failMessage, 1, sellIn); + } +} \ No newline at end of file