ソースを参照

finished assignment

Chad 8 年 前
コミット
618f0bce8c
共有2 個のファイルを変更した65 個の追加42 個の削除を含む
  1. 39
    42
      Inventory.java
  2. 26
    0
      InventoryTest.java

+ 39
- 42
Inventory.java ファイルの表示

@@ -7,58 +7,55 @@ public class Inventory {
7 7
         this.items = items;
8 8
     }
9 9
 
10
-
11 10
     public void updateQuality() {
12 11
         for (int i = 0; i < items.length; i++) {
13
-            if (!items[i].getName().equals("Aged Brie")
14
-                    && !items[i].getName().equals("Backstage passes to a TAFKAL80ETC concert")) {
15
-                if (items[i].getQuality() > 0) {
16
-                    if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) {
17
-                        items[i].setQuality(items[i].getQuality() - 1);
18
-                    }
12
+            if(items[i].getName().equals("Sulfuras, Hand of Ragnaros")){
13
+
14
+            } else if (items[i].getName().equals("Aged Brie")) {
15
+                if (items[i].getQuality() < 50) {
16
+                    items[i].setQuality(items[i].getQuality() + 1);
19 17
                 }
20
-            } else {
18
+                items[i].setSellIn(items[i].getSellIn() - 1); 
19
+            } else if(items[i].getName().equals("Backstage passes to a TAFKAL80ETC concert")){
21 20
                 if (items[i].getQuality() < 50) {
22 21
                     items[i].setQuality(items[i].getQuality() + 1);
23
-
24
-                    if (items[i].getName() == "Backstage passes to a TAFKAL80ETC concert") {
25
-                        if (items[i].getSellIn() < 11) {
26
-                            if (items[i].getQuality() < 50) {
27
-                                items[i].setQuality(items[i].getQuality() + 1);
28
-                            }
29
-                        }
30
-
31
-                        if (items[i].getSellIn() < 6) {
32
-                            if (items[i].getQuality() < 50) {
33
-                                items[i].setQuality(items[i].getQuality() + 1);
34
-                            }
35
-                        }
36
-                    }
37 22
                 }
38
-            }
39
-
40
-            if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) {
23
+                if (items[i].getSellIn() < 11 && items[i].getQuality() < 50) {
24
+                    items[i].setQuality(items[i].getQuality() + 1);
25
+                }
26
+                if (items[i].getSellIn() < 6 && (items[i].getQuality() < 50)) {
27
+                    items[i].setQuality(items[i].getQuality() + 1);
28
+                }
41 29
                 items[i].setSellIn(items[i].getSellIn() - 1);
30
+            }else if(items[i].getName().equals("Conjured")){
31
+                if (items[i].getQuality() > 0) {
32
+                    items[i].setQuality(items[i].getQuality() - 2);
33
+                    items[i].setSellIn(items[i].getSellIn() - 1);
34
+                }
35
+            }else {
36
+                if (items[i].getQuality() > 0){
37
+                    items[i].setQuality(items[i].getQuality() - 1);
38
+                    items[i].setSellIn(items[i].getSellIn() - 1);
39
+                }
42 40
             }
43 41
 
44
-            if (items[i].getSellIn() < 0) {
45
-                if (!items[i].getName().equals("Aged Brie")) {
46
-                    if (!items[i].getName().equals("Backstage passes to a TAFKAL80ETC concert")) {
47
-                        if (items[i].getQuality() > 0) {
48
-                            if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) {
49
-                                items[i].setQuality(items[i].getQuality() - 1);
50
-                            }
51
-                        }
52
-                    } else {
53
-                        items[i].setQuality(items[i].getQuality()
54
-                                - items[i].getQuality());
55
-                    }
56
-                } else {
57
-                    if (items[i].getQuality() < 50) {
58
-                        items[i].setQuality(items[i].getQuality() + 1);
59
-                    }
42
+            if(items[i].getName().equals("Sulfuras, Hand of Ragnaros")){
43
+
44
+            } else if (items[i].getSellIn() < 0) {
45
+                if (items[i].getName().equals("Aged Brie") 
46
+                && items[i].getQuality() < 50) {
47
+                    items[i].setQuality(items[i].getQuality() + 1);
48
+                } else if (items[i].getName().equals("Backstage passes to a TAFKAL80ETC concert")) {
49
+                    items[i].setQuality(items[i].getQuality()
50
+                        - items[i].getQuality());
51
+                }else if (items[i].getName().equals("Conjured")){
52
+                    items[i].setQuality(items[i].getQuality() - 2);  
53
+                } else if (items[i].getQuality() > 0) {
54
+                    items[i].setQuality(items[i].getQuality() - 1);
60 55
                 }
61 56
             }
57
+
62 58
         }
59
+    }
63 60
 }
64
-}
61
+

+ 26
- 0
InventoryTest.java ファイルの表示

@@ -11,11 +11,36 @@ public class InventoryTest {
11 11
 
12 12
     private Item sulfuras;
13 13
     private Item normalItem;
14
+    private Item conjured;
14 15
 
15 16
     @Before
16 17
     public void setup(){
17 18
         sulfuras = new Item("Sulfuras, Hand of Ragnaros", 0, 80);
18 19
         normalItem = new Item(NORMAL_ITEM_NAME, 10, 20);
20
+        conjured = new Item("Conjured",10,20);
21
+    }
22
+
23
+    @Test
24
+    public void testUpdate_ForConjuredQuality() throws Exception {
25
+        int expectedQuality = conjured.getQuality()-2;
26
+        Item[] items = {conjured};
27
+        Inventory sut = new Inventory(items);
28
+
29
+        sut.updateQuality();
30
+
31
+        assertEquals(expectedQuality, conjured.getQuality());
32
+    }
33
+    
34
+
35
+    @Test
36
+    public void testUpdate_ForConjuredSellIn() throws Exception {
37
+        int expectedSellIn = conjured.getSellIn()-1;
38
+        Item[] items = {conjured};
39
+        Inventory sut = new Inventory(items);
40
+
41
+        sut.updateQuality();
42
+
43
+        assertEquals(expectedSellIn, conjured.getSellIn());
19 44
     }
20 45
 
21 46
     @Test
@@ -28,6 +53,7 @@ public class InventoryTest {
28 53
 
29 54
         assertEquals(expectedQuality, sulfuras.getQuality());
30 55
     }
56
+
31 57
     @Test
32 58
     public void testUpdate_ForSulfurasSellIn() throws Exception {
33 59
         int expectedSellIn = sulfuras.getSellIn();