From 5d5b90c11df5eb73fbdf94c0253ac63c518d5a8e Mon Sep 17 00:00:00 2001 From: atatlisu Date: Fri, 9 Sep 2016 16:48:18 +0300 Subject: [PATCH 1/5] Project Finished --- bin/.gitignore | 1 + 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 -> 5162 bytes .../oulu/tol/sqat/tests/GildedRoseTest.java | 138 +++++++++++++++++- 5 files changed, 137 insertions(+), 2 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..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..771c3b18ebfe5905830899a80511e2ec52ebc2ea 100644 GIT binary patch literal 5162 zcmcJR>vI#=8OEQrq(~Mb$c_R52WJB$$QY1KaELJwbT>3TokkVX0YO zhY^$zUsSFusgj}>Q&V$`YTlOc&?!yV>@yMq$*x%m!6BodMiD@33?V!uVMj*O)yeYG zoN8v3xsocOJ!9mR(yU@?;@Z6#v==l>!okd@k{OWDC6c_jTu^LvL@!Lu4=XFVbWtq~ znwpw>v8 zgpP(Z*3^ii4Xt53D&f(Fr^an{DS}-RT176hNG6H|b_+4~NZ6IktSLBSo0?u67$5JN z6(JvwVJ|u*gq1=;gpsf(*{FsX8E{^ZV|Y?1{BXHW1rck13oPj)$T zmu;<-%4j6rhJ)w|Bgqhzth|vJ4xyWl@@+yU$K5w;d>;t0fW+T6ftQM*2h=&r7hLHp z^)Mb~k@bafoHDPeoVG00v}1S{CnUs_%GJmszR$@Aw$8HFs{Fj*^m8x>eHf>jXG z9J=^=HnNK$VE|=sj8f52!p{0yTv@Kx<9e}9H3@NsNp$#>;!L?TUp5shfeX(q^GA9&Wk%yG4Y6O!^P{_{(Bj*+UZ-2DqIaSu(*F^%;F}#Qi^w%*fYnCbM zPM=!7EWDF6{xjX6FhIig8C%I;olur5D?NCAIIBiSK2Z|He0od_0anWMnpKhfp6YB=}B>g;SL{hOFQXB)X2 zs%hkud4lJ>N$6e5lX?9dvSwSgidSleBKK}MA+6YNS;EN&o2b^< zD(x}<$=xCvR`aH+SgMs3rlkd`@IHbv*Y5`QR--5U>t{wSmBw`^(hY7j9!7!lDHi*? z>^u@$b^g8){qhGfyeax+EBmE0?7yF_MW33_dF2to+Y*j6ok?^T?^(AZBqV)&sS982 zJQ3XDC&7l%tBl)qva*p6-djX4kSxSdzrq&V7w9qvEY!<>Lg8PoP^0xiy%LCbHr7)->ZjAI3Cz{5 zk=jz4phA;eBU3DeX|9neu9z9Fk}M1ABDI>WQE1dt=y_M6J?ukHDIKNCPAT=XL)9zf zj8zqiqUBrct&|e0qwpZmYCIa*EOapetr_%XLcc`lD};WT&{qikDxnoZ&k;Jm#n4xM zq5tVRJyP#<6X$Co=)qS#|x>J?PucLMvC9B(d5b9Uh`;PfgC;XhY6S&@t`b|>5#jI|U`fXC*B=s#) z-zN3Dq<(LUsbAkR>XiiEAocfe-A84&ukB<%BK40+{XVIGLhAQP{Zmr^jMP6T^)I%V z`YlpBA9Wj4^``y3xdG`fN%||2en8S+lk@|U{+6V_Bk6}E{b-9xfB64M)A7#DSMoc~ o?&Ry~$0YrPq@R-XGm?Hv(l1E*B}u;`>F>9g^fte0TJY}w00eCmQUCw| delta 167 zcmZ3b@q?M`)W2Q(7#J9g86+oi?dIhvNi8l3$w&<;DlN&F_+H items = store.getItems(); + Item itemBrie = items.get(0); + assertEquals("error in Sulfuras",80,itemBrie.getQuality()); + } + + @Test + public void testUpdateEndOfDay_NegativeQuality() { + GildedRose store = new GildedRose(); + store.addItem(new Item("Conjured Mana Cake", 10, 20) ); + for(int i=0 ; i<10000; i++){ + store.updateEndOfDay(); + } + + List items = store.getItems(); + Item item = items.get(0); + assertTrue("quality canīt be negative", 0 <= item.getQuality()); + } + + @Test + public void testUpdateEndOfDay_QualityMoreThan50() { + GildedRose store = new GildedRose(); + store.addItem(new Item("Aged Brie", 10, 20) ); + for(int i=0 ; i<100000; i++){ + store.updateEndOfDay(); + } + + List items = store.getItems(); + Item item = items.get(0); + assertTrue("error in Aged Brie quality canīt be more than 50", 50 >= item.getQuality()); + } + + @Test + public void testUpdateEndOfDay_DatePassed() { + GildedRose store = new GildedRose(); + store.addItem(new Item("+5 Dexterity Vest", 0, 30) ); + for(int i=0 ; i<10; i++){ + store.updateEndOfDay(); + } + + List items = store.getItems(); + Item item = items.get(0); + assertEquals("quality should change twice when the date passed", 10, item.getQuality()); + } + + @Test + public void testUpdateEndOfDay_Backstage_passes() { + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 10, 5) ); + for(int i=0 ; i<10; i++){ + store.updateEndOfDay(); + } + + List items = store.getItems(); + Item item = items.get(0); + assertEquals("error än backstage passes", 30, item.getQuality()); + } + + @Test + public void testUpdateEndOfDay_Backstage_passes_to_zero_after_concert() { + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 10, 5) ); + for(int i=0 ; i<11; i++){ + store.updateEndOfDay(); + } + + List items = store.getItems(); + Item item = items.get(0); + assertEquals("error in backstage passes its quality cant be 0", 0, item.getQuality()); + } + @Test + public void testUpdateEndOfDay_Backstage_cant_be_more_than_50() { + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 10, 35) ); + for(int i=0 ; i<10; i++){ + store.updateEndOfDay(); + } + + List items = store.getItems(); + Item item = items.get(0); + assertEquals("error in backstage passes its quality cant be more than 50", 50, item.getQuality()); } + @Test + public void testUpdateEndOfDay_QualityDecreasesTwiceAfterDate() { + GildedRose store = new GildedRose(); + store.addItem(new Item("+5 Dexterity Vest", 10, 50) ); + for(int i=0 ; i<20; i++){ + store.updateEndOfDay(); + } + + List items = store.getItems(); + Item item = items.get(0); + assertEquals("quality should change twice", 20, item.getQuality()); + } + @Test + public void testUpdateEndOfDay_SellInDate() { + GildedRose store = new GildedRose(); + store.addItem(new Item("+5 Dexterity Vest", 10, 50) ); + for(int i=0 ; i<20; i++){ + store.updateEndOfDay(); + } + + List items = store.getItems(); + Item item = items.get(0); + assertEquals("error in decrasing SellIn", -10, item.getSellIn()); + } + + public void testUpdateEndOfDay_SellInDateOf_Backstage() { + GildedRose store = new GildedRose(); + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 10, 50) ); + for(int i=0 ; i<20; i++){ + store.updateEndOfDay(); + } + + List items = store.getItems(); + Item item = items.get(0); + assertEquals("error in decrasing SellIn of Backstage passes", -10, item.getSellIn()); + } + + public void testUpdateEndOfDay_SellInDateOf_Sulfuras() { + GildedRose store = new GildedRose(); + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 30, 50) ); + for(int i=0 ; i<20; i++){ + store.updateEndOfDay(); + } + + List items = store.getItems(); + Item item = items.get(0); + assertEquals("error in decrasing SellIn of Sulfuras", 10, item.getSellIn()); + } + + + } From 33cb70a47a4f3a790dfdf094e4bb6db5a450d536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Ozan=20Tatl=C4=B1su?= Date: Mon, 17 Oct 2016 00:37:58 +0300 Subject: [PATCH 2/5] Update GildedRose.java --- src/fi/oulu/tol/sqat/GildedRose.java | 135 ++++++++++++--------------- 1 file changed, 58 insertions(+), 77 deletions(-) diff --git a/src/fi/oulu/tol/sqat/GildedRose.java b/src/fi/oulu/tol/sqat/GildedRose.java index 24741c6..7b66975 100644 --- a/src/fi/oulu/tol/sqat/GildedRose.java +++ b/src/fi/oulu/tol/sqat/GildedRose.java @@ -3,7 +3,6 @@ import java.util.ArrayList; import java.util.List; - public class GildedRose { private static List items = null; @@ -11,7 +10,7 @@ public class GildedRose { public List getItems() { return items; } - + public void addItem(Item item) { items.add(item); } @@ -19,80 +18,62 @@ 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); - } - } - - 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); - } - } - } - } - } + + 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 (!item.hasReachedMaximumQuality()) { + item.increaseQuality(); + } + } else { + + if ("Backstage passes to a TAFKAL80ETC concert".equals(item.getName())) { + item.setQuality(0); + } else { + if (!item.hasZeroQuality()) { + if (!"Sulfuras, Hand of Ragnaros".equals(item.getName())) { + item.decreaseQuality(); + } + } + + } + + } + } + } + } } From 9e18884a4b1c299c93b80691d5f703260020613e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Ozan=20Tatl=C4=B1su?= Date: Mon, 17 Oct 2016 00:38:26 +0300 Subject: [PATCH 3/5] Update Item.java --- src/fi/oulu/tol/sqat/Item.java | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/fi/oulu/tol/sqat/Item.java b/src/fi/oulu/tol/sqat/Item.java index 447b7fe..54152fa 100644 --- a/src/fi/oulu/tol/sqat/Item.java +++ b/src/fi/oulu/tol/sqat/Item.java @@ -31,5 +31,30 @@ public int getQuality() { public void setQuality(int quality) { this.quality = quality; } + public void decreaseQuality(){ + --quality; + } + public void increaseQuality(){ + quality++; + } + public void decreaseSellIn(){ + --sellIn; + } + public boolean isExpired(){ + if (sellIn <0) + return true; + return false; + } + public boolean hasReachedMaximumQuality(){ + if(quality < 50) + return false; + return true; + } + public boolean hasZeroQuality(){ + if(quality >0) + return false; + return true; + + } } From f2226300425898857e446810fb0544549b489996 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Ozan=20Tatl=C4=B1su?= Date: Mon, 17 Oct 2016 00:39:30 +0300 Subject: [PATCH 4/5] Update GildedRoseTest.java --- .../oulu/tol/sqat/tests/GildedRoseTest.java | 339 +++++++++++------- 1 file changed, 215 insertions(+), 124 deletions(-) diff --git a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java index a932f03..9b43827 100644 --- a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java +++ b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java @@ -1,176 +1,267 @@ 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 50increases twice after SellIn date has passed"; + assertEquals(failMessage, 50, quality); + } -// 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_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_Quality_10_11() { + public void testUpdateEndOfDay_AgedBrie_SellIn_2_10() { // Arrange - GildedRose store = new GildedRose(); - store.addItem(new Item("Aged Brie", 2, 10) ); - + 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()); + int sellIn = store.getItems().get(0).getSellIn(); + String failMessage = "SellIn date decreases"; + assertEquals(failMessage, 1, sellIn); } - + @Test - public void testUpdateEndOfDay_Sulfuras() { - GildedRose store = new GildedRose(); - store.addItem(new Item("Sulfuras, Hand of Ragnaros", 0, 80) ); - + 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(); - List items = store.getItems(); - Item itemBrie = items.get(0); - assertEquals("error in Sulfuras",80,itemBrie.getQuality()); + // 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_NegativeQuality() { - GildedRose store = new GildedRose(); - store.addItem(new Item("Conjured Mana Cake", 10, 20) ); - for(int i=0 ; i<10000; i++){ + public void testUpdateEndOfDay_Sulfuras_SellIn_5_80() { + // Arrange + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 5, 80)); + // Act store.updateEndOfDay(); - } - - List items = store.getItems(); - Item item = items.get(0); - assertTrue("quality canīt be negative", 0 <= item.getQuality()); + // 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_QualityMoreThan50() { - GildedRose store = new GildedRose(); - store.addItem(new Item("Aged Brie", 10, 20) ); - for(int i=0 ; i<100000; i++){ + public void testUpdateEndOfDay_Sulfuras_SellIn_0_80() { + // Arrange + store.addItem(new Item("Sulfuras, Hand of Ragnaros", 0, 80)); + // Act store.updateEndOfDay(); - } - - List items = store.getItems(); - Item item = items.get(0); - assertTrue("error in Aged Brie quality canīt be more than 50", 50 >= item.getQuality()); + // Assert + int sellIn = store.getItems().get(0).getSellIn(); + String failMessage = "Sulfuras, being a legendary item, never has tobe sold"; + assertEquals(failMessage, 0, sellIn); } + // Test Backstage pass @Test - public void testUpdateEndOfDay_DatePassed() { - GildedRose store = new GildedRose(); - store.addItem(new Item("+5 Dexterity Vest", 0, 30) ); - for(int i=0 ; i<10; i++){ + public void testUpdateEndOfDay_Backstage_Quality_15_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); + // Act store.updateEndOfDay(); - } - - List items = store.getItems(); - Item item = items.get(0); - assertEquals("quality should change twice when the date passed", 10, item.getQuality()); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage pass increases by 1 whenthere are more than 10 days"; + assertEquals(failMessage, 21, quality); } - + @Test - public void testUpdateEndOfDay_Backstage_passes() { - GildedRose store = new GildedRose(); - store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 10, 5) ); - for(int i=0 ; i<10; i++){ + public void testUpdateEndOfDay_Backstage_Quality_10_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 10, 20)); + // Act store.updateEndOfDay(); - } - - List items = store.getItems(); - Item item = items.get(0); - assertEquals("error än backstage passes", 30, item.getQuality()); + // 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_passes_to_zero_after_concert() { - GildedRose store = new GildedRose(); - store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 10, 5) ); - for(int i=0 ; i<11; i++){ + public void testUpdateEndOfDay_Backstage_Quality_8_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 8, 20)); + // Act store.updateEndOfDay(); - } - - List items = store.getItems(); - Item item = items.get(0); - assertEquals("error in backstage passes its quality cant be 0", 0, item.getQuality()); + // 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_cant_be_more_than_50() { - GildedRose store = new GildedRose(); - store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 10, 35) ); - for(int i=0 ; i<10; i++){ + public void testUpdateEndOfDay_Backstage_Quality_5_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 5, 20)); + // Act store.updateEndOfDay(); - } - - List items = store.getItems(); - Item item = items.get(0); - assertEquals("error in backstage passes its quality cant be more than 50", 50, item.getQuality()); + // 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_QualityDecreasesTwiceAfterDate() { - GildedRose store = new GildedRose(); - store.addItem(new Item("+5 Dexterity Vest", 10, 50) ); - for(int i=0 ; i<20; i++){ + public void testUpdateEndOfDay_Backstage_Quality_3_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 3, 20)); + // Act store.updateEndOfDay(); - } - - List items = store.getItems(); - Item item = items.get(0); - assertEquals("quality should change twice", 20, item.getQuality()); + // 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_SellInDate() { - GildedRose store = new GildedRose(); - store.addItem(new Item("+5 Dexterity Vest", 10, 50) ); - for(int i=0 ; i<20; i++){ + public void testUpdateEndOfDay_Backstage_Quality_0_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 0, 20)); + // Act store.updateEndOfDay(); - } - - List items = store.getItems(); - Item item = items.get(0); - assertEquals("error in decrasing SellIn", -10, item.getSellIn()); - } - - public void testUpdateEndOfDay_SellInDateOf_Backstage() { - GildedRose store = new GildedRose(); - store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 10, 50) ); - for(int i=0 ; i<20; i++){ + // 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(); - } - - List items = store.getItems(); - Item item = items.get(0); - assertEquals("error in decrasing SellIn of Backstage passes", -10, item.getSellIn()); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "The Quality of an item is never more than 50"; + assertEquals(failMessage, 50, quality); } - - public void testUpdateEndOfDay_SellInDateOf_Sulfuras() { - GildedRose store = new GildedRose(); - store.addItem(new Item("Sulfuras, Hand of Ragnaros", 30, 50) ); - for(int i=0 ; i<20; i++){ + + @Test + public void testUpdateEndOfDay_Backstage_SellIn_5_10() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", 5, 10)); + // Act store.updateEndOfDay(); - } - - List items = store.getItems(); - Item item = items.get(0); - assertEquals("error in decrasing SellIn of Sulfuras", 10, item.getSellIn()); + // 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); + } } From 9b37389111ae86ef36813b99fee5478e646a06f2 Mon Sep 17 00:00:00 2001 From: ozan Date: Tue, 18 Oct 2016 10:31:53 +0300 Subject: [PATCH 5/5] Assignment #5 is Finished. --- bin/fi/oulu/tol/sqat/GildedRose.class | Bin 2131 -> 1931 bytes bin/fi/oulu/tol/sqat/Item.class | Bin 1034 -> 1632 bytes .../oulu/tol/sqat/tests/GildedRoseTest.class | Bin 5162 -> 6279 bytes src/fi/oulu/tol/sqat/GildedRose.java | 2 -- .../oulu/tol/sqat/tests/GildedRoseTest.java | 1 - 5 files changed, 3 deletions(-) diff --git a/bin/fi/oulu/tol/sqat/GildedRose.class b/bin/fi/oulu/tol/sqat/GildedRose.class index b904cd2a2f60ff47b023e9e0b84ddbe56eddc526..b34938242d3135670add2823be5d35c53df6ba33 100644 GIT binary patch delta 992 zcmZXT&2LOm7{-6+&M?!NYo?}3iPlGj&a^t?qo^u6l#Z5``fO2Gd$m`_3^RA65-|%B z3$eNjX%`kYP3$VsU?C(ngq58{ENuA~)O)8jDROdh&inB^&-4aBnNgiRtX3>GZxoDl-p^j=t=7Cg!G4_%l8VrnksmN~ z+2azn>{|*?Lv+B;L1&3)O)YJ}p1X$+5ssO3f}|duqa^|>^B+O4P9Mjmt5MVLH`D1Uv69~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/Item.class b/bin/fi/oulu/tol/sqat/Item.class index 86c608e1a130d3506ba1bc783f500e2d34d0181d..8964c8e257fb3ea5bc8d0a483bcc93e95606f83c 100644 GIT binary patch delta 637 zcmZ|LJx{_=6b9h;wk66(i=**tQM4eafbk=7)#$*WxQL5adJ`H8k^%`#?5?iH!NG}` z5OHzv2ly-8{SU?iv`s-=dU|iqefpkzH~kd}eg3?E0LWsy8+vB#s3D5B;5BjD;Fei$ zF+|PE*pBA*aF`1cEHrvZ#E~jqhN?ox_!v>280tAJ?M(@2E9v53G?&}Q3aN% zu3&-QBEwcJVu@A^>-dMcn!v0Qv*t2wIv@6&Bt>wl?PL4RO$aoOd*9Jo%uW3=AfAc3EA?{W4et#swU{BW-?C*$Q@;r1=1vD oXtbZ{HB8E7+GG7$^~Z_m4n^H1c+ZErx95wRp>PtizuAaZ7XSbN delta 36 scmaFB)5XDc>ff$?3=9m$3_2URmN8B?X0l>r-<-!J#l*_Mz{H>p0N4`=1poj5 diff --git a/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class b/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class index 771c3b18ebfe5905830899a80511e2ec52ebc2ea..4fb225ee8eeb6bb129bd590e448313666adabf57 100644 GIT binary patch literal 6279 zcmbuCS#T8B6^75%!n8&M8ic?YY|>r`l00H&1Ou{#9Saa3JYtb##gM?brD=^?w7Oxs zMjKk&#U9#HMhT{=$bvB>&>N8 zjIJIj8MZd7j%${Nhy#XU+KR221_H*jX0ec*DPhe?E?<9yu4c5nYK23#IxEp?MlC#u z%%enUC0)x^S;Oe6&TK{UQM;%ah5n(Tu5m7h9HZ;#dPWf?pXbvsTGd&-O#Y_7JmAI{ zttE-klF}v1<8!TxQ73gVk_xKLM_>i*on7VFC0o;zSq*DwrJJZHLJ3UaQ2B3Sw4RdK zT8zdbJBQqn0i*QuRi$IpOB)zP@trHB*~ej!Tb`mhN(q`vnmA@5R*JkOyKrC=yU(~?MG z)E#i4_bInwUrOemm))r7u!o;$`@{?MM(11+GY-NOqfOqMggl|5P|1p{s|D4_E5&)o z_6au(_nd9wBiS-_-*?U7!j)Higi+?o!nx6)guobEmB}NPjkNcLO=n;yi43H?|FWDY z4!a_c4eYpMAlsK39NQ*On#Lrmk3>fq?FtBe>BveclPBiow0wM8HSB2>1wg@Xr4po5 zNX>bF8xJWjP4qdgrgo7po6}!+u-V6%}_!NXQMB zLuM{v^vc#%VF5N=0c=^(2NMQ(lbNoUCZFG5NCTuXg}3>#eWzr z8!x$Tb(&N35;AETEnHsqs+8j}PZ~6CYXzns)U^{@(ci@0+-8ZMV6>wAoL3OOoMF=_ znCJl|dJ^wE8N4{wC4tbEi2}Lw?pRb^1bUWH2cGj|$SbVQRA>%H%~Ekv-J$WGZds*= z977kio*&8RdeAkX6JYp7FNo_3{2N^)t}VFRinsh-y!#wQyDw7gz&ToShT7i2vj$p< z>k?;tl$xlO+9*oxcor*4%NKqV5KIpH`lw)Ry**!-)>swEEHW)K@`R<$y0mxMc{koVs!C zL6}WAk2sE84&&l<(_*@fegu#n;NDIHKx0^_2=Pf5v9E#{kH&jzGj8LIgF?n@Ajle! z$>{#BL!);+ZKfLnjD0TSO+MrL0OL*}qd>;SdNS_fh`WV|oj~9MCUEV+pY@P289>}z zQ^ss~#5yVtFRbE5AZ!9+9}sT_;w`xA4~@7tEMh~vqxMESD((}icsmfc0&zPK2Z6W) zh&w|gjtCJScg>ion6Y-gjBaTkA5KJtfLQ?U0pLCW?g!uqZKTlvV8-9(R=Ug07Rk?+ z17QK1YC5qD*dheH3jhZJ_)`EL0^nf)=0XD=6arpxs+0jc=qEzNJP@aVI1NM%h%?ya zBLT!Zl0Bnc;-kiKhVg6ab$F;4=Vx7EXLF z09ZR!bRl5%!7>|ft5##@Yvq6`CUoFun=Kw?Z?{g=Un#2jkmd`~?`_1>-Nlcp8jnLNgv0GFDfe*}8}) zxQzD*xB3F?_-oklJ=pO#u;cs4mk$Dn!Kzc8()Wf%TvSiR8i*eP@wY(y2#CJ};_rd@ zhtP=k2@$JPdbY71;{6My^dABECjkB#fPVqtUy;&(3jhXF+S9Od`aLKF6sL5ZE~iGX z_;*thNBef5}QylRrA>#jl_B<@Xv=Fh{ uiggg7;xh|0VyuCdu_ju<7Ew2gP!E%6BWno&2Ce96Sh3=B`0q^vJ^vjrg&BST literal 5162 zcmcJR>vI#=8OEQrq(~Mb$c_R52WJB$$QY1KaELJwbT>3TokkVX0YO zhY^$zUsSFusgj}>Q&V$`YTlOc&?!yV>@yMq$*x%m!6BodMiD@33?V!uVMj*O)yeYG zoN8v3xsocOJ!9mR(yU@?;@Z6#v==l>!okd@k{OWDC6c_jTu^LvL@!Lu4=XFVbWtq~ znwpw>v8 zgpP(Z*3^ii4Xt53D&f(Fr^an{DS}-RT176hNG6H|b_+4~NZ6IktSLBSo0?u67$5JN z6(JvwVJ|u*gq1=;gpsf(*{FsX8E{^ZV|Y?1{BXHW1rck13oPj)$T zmu;<-%4j6rhJ)w|Bgqhzth|vJ4xyWl@@+yU$K5w;d>;t0fW+T6ftQM*2h=&r7hLHp z^)Mb~k@bafoHDPeoVG00v}1S{CnUs_%GJmszR$@Aw$8HFs{Fj*^m8x>eHf>jXG z9J=^=HnNK$VE|=sj8f52!p{0yTv@Kx<9e}9H3@NsNp$#>;!L?TUp5shfeX(q^GA9&Wk%yG4Y6O!^P{_{(Bj*+UZ-2DqIaSu(*F^%;F}#Qi^w%*fYnCbM zPM=!7EWDF6{xjX6FhIig8C%I;olur5D?NCAIIBiSK2Z|He0od_0anWMnpKhfp6YB=}B>g;SL{hOFQXB)X2 zs%hkud4lJ>N$6e5lX?9dvSwSgidSleBKK}MA+6YNS;EN&o2b^< zD(x}<$=xCvR`aH+SgMs3rlkd`@IHbv*Y5`QR--5U>t{wSmBw`^(hY7j9!7!lDHi*? z>^u@$b^g8){qhGfyeax+EBmE0?7yF_MW33_dF2to+Y*j6ok?^T?^(AZBqV)&sS982 zJQ3XDC&7l%tBl)qva*p6-djX4kSxSdzrq&V7w9qvEY!<>Lg8PoP^0xiy%LCbHr7)->ZjAI3Cz{5 zk=jz4phA;eBU3DeX|9neu9z9Fk}M1ABDI>WQE1dt=y_M6J?ukHDIKNCPAT=XL)9zf zj8zqiqUBrct&|e0qwpZmYCIa*EOapetr_%XLcc`lD};WT&{qikDxnoZ&k;Jm#n4xM zq5tVRJyP#<6X$Co=)qS#|x>J?PucLMvC9B(d5b9Uh`;PfgC;XhY6S&@t`b|>5#jI|U`fXC*B=s#) z-zN3Dq<(LUsbAkR>XiiEAocfe-A84&ukB<%BK40+{XVIGLhAQP{Zmr^jMP6T^)I%V z`YlpBA9Wj4^``y3xdG`fN%||2en8S+lk@|U{+6V_Bk6}E{b-9xfB64M)A7#DSMoc~ o?&Ry~$0YrPq@R-XGm?Hv(l1E*B}u;`>F>9g^fte0TJY}w00eCmQUCw| diff --git a/src/fi/oulu/tol/sqat/GildedRose.java b/src/fi/oulu/tol/sqat/GildedRose.java index 7b66975..d059806 100644 --- a/src/fi/oulu/tol/sqat/GildedRose.java +++ b/src/fi/oulu/tol/sqat/GildedRose.java @@ -10,11 +10,9 @@ public class GildedRose { public List getItems() { return items; } - public void addItem(Item item) { items.add(item); } - public GildedRose() { items = new ArrayList(); } diff --git a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java index 9b43827..649f9ca 100644 --- a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java +++ b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java @@ -22,7 +22,6 @@ public void testUpdateEndOfDay_AgedBrie_Quality_2_10() { String failMessage = "Quality of Aged Brie increases"; assertEquals(failMessage, 11, quality); } - @Test public void testUpdateEndOfDay_AgedBrie_Quality_10_50() { // Arrange