From c81ed6f23fdc0be0120f7ee7413c174df253586f Mon Sep 17 00:00:00 2001 From: Date: Tue, 18 Oct 2016 08:35:26 +0300 Subject: [PATCH 1/3] Baseline OK, All test Passed! --- bin/.gitignore | 1 + bin/fi/oulu/tol/sqat/GildedRose.class | Bin 2380 -> 3582 bytes .../oulu/tol/sqat/tests/GildedRoseTest.class | Bin 504 -> 6553 bytes src/fi/oulu/tol/sqat/GildedRose.java | 99 +++++++ .../oulu/tol/sqat/tests/GildedRoseTest.java | 257 +++++++++++++++++- 5 files changed, 356 insertions(+), 1 deletion(-) 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..653f7970bbca1aa134708ea1411881327d0b6f75 100644 GIT binary patch literal 3582 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 diff --git a/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class b/bin/fi/oulu/tol/sqat/tests/GildedRoseTest.class index e44e81ce2b232358b6069c215dc740c0984c2b8c..a84ccb2d40635b5939d7ee4f5853b841b68f2b0c 100644 GIT binary patch literal 6553 zcmbW5TW}j!8OOh4Tb3-Vv2dN3CbZeKq_K@^U5r~Nc3Yg(NfhiPwUs~`T6Hb0<#jf@ z&hE;Ip%mIuN+(U)A#J$yp&f>nhcXQ1l7tot4`mn%4`moG4`moGFAT%wg<-f1@ISkf zc4HmehdN`~dpYO(o&WiN-}#(3{`1OfL^MR7iBb!r?Q?qCsv6a_YZ+9^8>8fcx}>HJ)vTls%`Rvqmr=xVEn8!B{bbWL!33j>+Q)QLckf`- z+Sh-SQQID?ti`F7IujJ7Sd^||v}KJM;*_Ay4gx}gBGk^PYf?A0gVmF>nq5$54G?rs zS|!yus@giguH9^N=XHnCj%GU1BEgy9_Y3n{!LGXVjINumny!9QJE}W6W*s+8%T-<7 zGBIg#(y}Y*g(}vS<`Rv@={njHrOkL0JQ;T!&2|&?F1nskT=lLnIe^>x?%`7O@rXwj z%c`qQnB_xrcd5(8@rqX7ZR=X`?y73&?s73#%x0pbFxuE8Qr^{0#^^>y9ek9+hs9|t zy_*ZWol$S!WUy;9uC1Gu(R{xDC|7hxg8HbRQB*CL`813+_cbfUpN#qg-jkpd#Tad< zUd7Aj8ca}{GK^vs&E+E?P z#$44_okkJK6i2WNWn_8%QA*jbnq{6Y(`v<3ZOe(#9HW7d4ePIRAC6=c{7KWS7weXVSSVqHm5xH=D z#aNDDcXz9$6ON1IZK#tSh9_cl3W?iz=-b@`P?f^?-uI7Bj$|eZdz6x8mQdDXgp!dD zsde?pkbP&Dm8^1lUNe!w8uD1hcaYH83^HuFA?8MD=8VUDhS5Grh}=pDgtlyG?>HWU zxNJ3+)lh513;dD)H*iO=`nMU_-=zl`?Uh{d(8?7LU$x+RDeIM8`4Cnv`>ww|pJ0>~ z!j^4o(K8qF%B!|er*1823k>4`5f^}9*BaT!Pk~RN=i_C#R-ql)C3M-Nz5>V-?; zeyvM`&TqRQg(eLBjBYm^kt^O7qjQWl`S*EI;met_%!-93GDc70SzU&D9OtS)=<7s* zYV@_SD8vZ#G@~Be=SNe$)_PN+HJGugc1hc-^QQ3Hpb0IY%^Kv#G;Kp4*@`}Z;Tz2) zK6~*y+E9FU;A%IX@@L6`%M>4Yl@iA;(}r(S*UPxqLhr!m25)=^wNWQ^VN5sfCHygT zE%o3E2Lk46p-uR`9ap{h$>$!z?_S)tEA-A_!Z=t>2<-3w@8aUZUH^x<{u{J#_n)N3YPG0m5ca ziH!)^OPkRk4dOFPTWA+rSH3>Q4^=}Nq-$so-G#MeDNYl#7Yjf!5MrLMVU7iu$#^oi zKIeYUc|gdy4JzLRy6xyXZ$?wOgGSNI2ApFx&UAw_7vh{0ath>Zm63CbV;&M>rhvhP z%-}PNe>uoG6v7-`Q_j2PF(uTTUR})*VC(|s7%*=K<{h}YQyQ}%i`kOwS%1?#HIE3@ z+yl%BVD1CveqiQ-c|aQT147KRHFNF^%(;FJeQ>P%_*5z`gggky!+@Lyxw_W`m9$or)si$ch^l|DXX58W@s z)PPw5rVh*nV4lE+8zIba`qZ@ys?n?@W~nuKczs`LJbfxc%u~R0fLR6R5-?8#^UNxk z%|%m}#f+_s2{jiurXj?90GJN~^W(sL2$&B8^O03Bo7FUhn9b=Up{9>1cIIP%d>oKx z0r>*mM9bCc9*6k+C28Kc4DV^qyRvrryw8F6dGJ05-Yi5xOz7E_U0QZN$eFL~Z z0`8BcaUT}qUT8W=7h7d;ADK$6ECoL7n}GcZVBZAnPXYTg!2TStzd%X&We7H066)Fp zC+ed@SaC^^=%R!@sn7cscz*@Uz6Hzv8kYSHEc;tn_II%C??b$6mxNCWd4-l;uhmDL zeT-Z7aiL}Z09pSCS^orC{|s6G0uTH(gc-JM^Ko!i67z{jGP?fZdY)rGCB*z2F#itB ze*p8J!2B05|Gf%kefNVN;L}3P=2J@o6KY;qrRih%OOv(YfBqvh$l58(qBO!{A;_>r P>skgDeFo=A3tjvlxJ_17 delta 239 zcmbPf{DYb6)W2Q(7#J9g86+oiIZLwHWaed-*fBCNYiNcsGO#%3r=)T*Ff(vY+&7m^ zh(Uy%L3nZ^qo}wjgBT+NS7LE-YEel@QE4hrsYaA$*yOuhI`s?;Obm<+tPE^Gk{xKY zK9FVv(yUtB88|iq8B7dZKoTSkBDsMi4@3cw<^}Q?8Tf$WObq-`RRTa7WRNjX25b<^ e4hBJlL0mwk3_v4UfJOlglfW=d94O7iAOQeOhZ>Rq diff --git a/src/fi/oulu/tol/sqat/GildedRose.java b/src/fi/oulu/tol/sqat/GildedRose.java index 8d48732..e261cee 100644 --- a/src/fi/oulu/tol/sqat/GildedRose.java +++ b/src/fi/oulu/tol/sqat/GildedRose.java @@ -8,6 +8,99 @@ public class GildedRose { private static List items = null; + public void addItem(Item item) { + // TODO Auto-generated method stub + + items.add(item); + } + + public GildedRose(){ + items = new ArrayList(); + } + public List getItems() { + + return items; + } + + public 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); + } + } + } + } + } + } + + + /** * @param args */ @@ -104,4 +197,10 @@ public static void updateQuality() } } + + + + + + } diff --git a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java index 04a5d2d..2837701 100644 --- a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java +++ b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java @@ -1,12 +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 public void testTheTruth() { assertTrue(true); } + + @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 + public void testUpdateEndOfDay_Backstage_Quality_15_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 15, 20) ); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage pass increases by 1 when there are more than 10 days"; + assertEquals(failMessage, 21, quality); + } + @Test + public void testUpdateEndOfDay_Backstage_Quality_10_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 10, 20) ); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage pass increases by 2 when there are 10 or less days"; + assertEquals(failMessage, 22, quality); + } + @Test + public void testUpdateEndOfDay_Backstage_Quality_8_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 8, 20) ); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage pass increases by 2 when there are 10 or less days"; + assertEquals(failMessage, 22, quality); + } + + @Test + public void testUpdateEndOfDay_Backstage_Quality_5_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert",5, 20) ); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage pass increases by 3 when there are 5 or less days"; + assertEquals(failMessage, 23, quality); + } + + @Test + public void testUpdateEndOfDay_Backstage_Quality_3_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 3, 20) ); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage pass increases by 3 when there are 5 or less days"; + assertEquals(failMessage, 23, quality); + } + @Test + public void testUpdateEndOfDay_Backstage_Quality_0_20() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 0, 20) ); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality of Backstage drops to 0 after the concert"; + assertEquals(failMessage, 0, quality); + } + @Test + public void testUpdateEndOfDay_Backstage_Quality_15_50() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert", + 15, 50) ); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "The Quality of an item is never more than 50"; + assertEquals(failMessage, 50, quality); + } + + @Test + public void testUpdateEndOfDay_Backstage_SellIn_5_10() { + // Arrange + store.addItem(new Item("Backstage passes to a TAFKAL80ETC concert",5, 10) ); + // Act + store.updateEndOfDay(); + // Assert + int sellIn = store.getItems().get(0).getSellIn(); + String failMessage = "The SellIn value should decrease by 1"; + assertEquals(failMessage, 4, sellIn); + } + // Test Elixir + @Test + public void testUpdateEndOfDay_Elixir_Quality_2_7() { + // Arrange + store.addItem(new Item("Elixir of the Mongoose", 2, 7) ); + // Act + store.updateEndOfDay(); + // Assert + int quality = store.getItems().get(0).getQuality(); + String failMessage = "Quality decreases by 1"; + assertEquals(failMessage, 6,quality); + } + + @Test + public void testUpdateEndOfDay_SellIn_Quality_2_7() { + // Arrange + store.addItem(new Item("Elixir of the Mongoose", 2, 7) ); + // Act + store.updateEndOfDay(); + // Assert + int sellIn = store.getItems().get(0).getSellIn(); + String failMessage = "SelIn decreases by 1"; + assertEquals(failMessage, 1, sellIn); + } + + } From dc4434c91fd3abb357c55d9c359567a8c8e906c1 Mon Sep 17 00:00:00 2001 From: Kari Date: Tue, 18 Oct 2016 19:14:43 +0300 Subject: [PATCH 2/3] Refactoring, all test OK --- bin/fi/oulu/tol/sqat/GildedRose.class | Bin 3582 -> 4098 bytes .../oulu/tol/sqat/tests/GildedRoseTest.class | Bin 6553 -> 6553 bytes src/fi/oulu/tol/sqat/GildedRose.java | 249 ++++++++---------- .../oulu/tol/sqat/tests/GildedRoseTest.java | 6 +- 4 files changed, 115 insertions(+), 140 deletions(-) diff --git a/bin/fi/oulu/tol/sqat/GildedRose.class b/bin/fi/oulu/tol/sqat/GildedRose.class index 653f7970bbca1aa134708ea1411881327d0b6f75..2b9c7aaaf3d2f1d942226833aa4996457768818e 100644 GIT binary patch literal 4098 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 b?PS4pDC!(m$~mHp)2Xb}rMwfee$TN3EeCwa delta 501 zcmX}oO-oc^9ES1xkYz-|ygl_8 z5$Rf)osa$k%kk;4lKhJ%p+*9tUb%e}WMb)pg&MB+& z%ISjg8nCI*9dnW5QG7~)a!I|qY>Qn9+YF7EE7YshLFy3o8g-bOvA4s%8KsUK63_>0&JcC?e8 ZaTIk9DD50n);Xk{)2Y03*!rpC{{Z=Kd`$oV diff --git a/src/fi/oulu/tol/sqat/GildedRose.java b/src/fi/oulu/tol/sqat/GildedRose.java index e261cee..92b400e 100644 --- a/src/fi/oulu/tol/sqat/GildedRose.java +++ b/src/fi/oulu/tol/sqat/GildedRose.java @@ -26,77 +26,78 @@ public 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); - } - } - } + eguals_Aged_or_TAFKAL80ETC_getItemAndQuality(i); + + equals_Sulfuras_getItems_SetSell(i); } } + } + + private static void eguals_Aged_or_TAFKAL80ETC_getItemAndQuality(int i) { + if ((!"Aged Brie".equals(items.get(i).getName())) && !"Backstage passes to a TAFKAL80ETC concert".equals(items.get(i).getName())) + getItems_QualityMore0(i); + else + { + getQualityLess50(i); + } + } + + private static void equals_Sulfuras_getItems_SetSell(int i) { + if (!"Sulfuras, Hand of Ragnaros".equals(items.get(i).getName())) + setSellminus1(i); + + getSellInLess0(i); + } + + private static void getItems_QualityMore0(int i) { + { + if (items.get(i).getQuality() > 0) + sulfurasSetQualityminus1(i); + } + } + + private static void getQualityLess50(int i) { + if (items.get(i).getQuality() < 50) + { + setQualityPlus1(i); + + egual_TAFKAL80ETC(i); + } + } + + private static void getSellInLess0(int i) { + if (items.get(i).getSellIn() < 0) + { + if (!"Aged Brie".equals(items.get(i).getName())) + { + equals_TAFKAL80ETC_setQualityOrDropQuality(i); + } else + getQualityLess50setQualityplus1(i); + } + } + + private static void equals_TAFKAL80ETC_setQualityOrDropQuality(int i) { + if (!"Backstage passes to a TAFKAL80ETC concert".equals(items.get(i).getName())) + getItems_QualityMore0(i); + else + dropQualityZero(i); + } + + private static void setSellminus1(int i) { + { + items.get(i).setSellIn(items.get(i).getSellIn() - 1); + } + } + + private static void egual_TAFKAL80ETC(int i) { + if ("Backstage passes to a TAFKAL80ETC concert".equals(items.get(i).getName())) + { + if (items.get(i).getSellIn() < 11) + getQualityLess50setQualityplus1(i); + + if (items.get(i).getSellIn() < 6) + getQualityLess50setQualityplus1(i); + } } @@ -125,79 +126,49 @@ 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); - } - } - } + eguals_Aged_or_TAFKAL80ETC_getItemAndQuality(i); + + equals_Sulfuras_getItems_SetSell(i); } } - + private static void setQualityPlus1(int i) { + items.get(i).setQuality(items.get(i).getQuality() + 1); + } + + private static void dropQualityZero(int i) { + { + items.get(i).setQuality(items.get(i).getQuality() - items.get(i).getQuality()); + } + } + + private static void getQualityLess50setQualityplus1(int i) { + { + if (items.get(i).getQuality() < 50) + setQualityplus1(i); + } + } + + private static void sulfurasSetQualityminus1(int i) { + { + if (!"Sulfuras, Hand of Ragnaros".equals(items.get(i).getName())) + setQualityminus1(i); + } + } + + private static void setQualityminus1(int i) { + { + items.get(i).setQuality(items.get(i).getQuality() - 1); + } + } + + private static void setQualityplus1(int i) { + { + setQualityPlus1(i); + } + } + + diff --git a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java index 2837701..91ae97a 100644 --- a/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java +++ b/src/fi/oulu/tol/sqat/tests/GildedRoseTest.java @@ -83,6 +83,7 @@ public void testUpdateEndOfDay_AgedBrie_SellIn_2_10() { String failMessage = "SellIn date decreases"; assertEquals(failMessage, 1, sellIn); } + @Test public void testUpdateEndOfDay_AgedBrie_SellIn_1_10() { // Arrange @@ -95,6 +96,7 @@ public void testUpdateEndOfDay_AgedBrie_SellIn_1_10() { assertEquals(failMessage, 0, sellIn); } + @Test public void testUpdateEndOfDay_AgedBrie_SellIn_0_10() { // Arrange @@ -106,7 +108,9 @@ public void testUpdateEndOfDay_AgedBrie_SellIn_0_10() { String failMessage = "SellIn date decreases"; assertEquals(failMessage, -1, sellIn); } - // Test Sulfuras + + + // Test Sulfuras @Test public void testUpdateEndOfDay_Sulfuras_Quality_0_80() { // Arrange From e1619dc40641268d9db9d035bdef527711306619 Mon Sep 17 00:00:00 2001 From: Kari Date: Wed, 19 Oct 2016 18:52:47 +0300 Subject: [PATCH 3/3] Refactoring OK --- bin/fi/oulu/tol/sqat/GildedRose.class | Bin 4098 -> 4098 bytes src/fi/oulu/tol/sqat/GildedRose.java | 3 +++ 2 files changed, 3 insertions(+) diff --git a/bin/fi/oulu/tol/sqat/GildedRose.class b/bin/fi/oulu/tol/sqat/GildedRose.class index 2b9c7aaaf3d2f1d942226833aa4996457768818e..3c10fc4988cfc381802627503fd260df5fd95c9c 100644 GIT binary patch delta 369 zcmWNNT`Ple7{-5-r|p?N&ziO&nh`~qm#j>yrKKS>Ssb8jY&n(pD0vc-9pIL6Kn`#q z2M&D_2abFIAHscd_pj^zU)S}!ov0K2oOHW88yt|sa5 z%UWV_X)zJD~~Hr_^PdK4utTR{v(@*Sl`bt5;6b7BqEH=IRQ@l6F{;ue#&Vs%iy# zSfih!x|PVVA=AF^&P_aQspmFb?2u%aIrdcF=ZFKYIpmfj$ym97qfDpDbf!#>_9@GU zRWvR&qatCuWLzoTjhxt7^G;h=we^Gi*vsalWSd)K>t;0JuT PbQ%omEzoyWXASrNcg{r7 delta 369 zcmWNNT`Ple7{-5-r|mzUXU)r~c^R2V<|S{dg-F^^lZ8ZV%%QwTsfA=Kl5Qb#AW6!B zL!ZQfBOkzraG%`w!F~0+uIoMtorFH)ZkLgSd%$w=;*)cC()cN+42N?0b&t9N(&S0` zgILsJsK+Kq4UJOpg5T~64olMZfl>B7rMPrj O`h{-YF79*|asLm`BSZ55 diff --git a/src/fi/oulu/tol/sqat/GildedRose.java b/src/fi/oulu/tol/sqat/GildedRose.java index 92b400e..652a331 100644 --- a/src/fi/oulu/tol/sqat/GildedRose.java +++ b/src/fi/oulu/tol/sqat/GildedRose.java @@ -1,5 +1,8 @@ package fi.oulu.tol.sqat; +//Refactoring KLA 18.10.2016 + + import java.util.ArrayList; import java.util.List;