소스 검색

completed

David Thornley 8 년 전
부모
커밋
3241ad09ed
3개의 변경된 파일71개의 추가작업 그리고 25개의 파일을 삭제
  1. 30
    19
      Inventory.java
  2. 37
    2
      InventoryTest.java
  3. 4
    4
      package.bluej

+ 30
- 19
Inventory.java 파일 보기

7
         this.items = items;
7
         this.items = items;
8
     }
8
     }
9
 
9
 
10
+    
10
     public void updateQuality() {
11
     public void updateQuality() {
11
         for (int i = 0; i < items.length; i++) {
12
         for (int i = 0; i < items.length; i++) {
12
             //handles Sulfuras
13
             //handles Sulfuras
15
 
16
 
16
             if(items[i].getName().equals("Aged Brie")){
17
             if(items[i].getName().equals("Aged Brie")){
17
                 agedBrieUpdate(i);
18
                 agedBrieUpdate(i);
18
-            } else{regularItemUpdate(i);}
19
-         
20
-            if (items[i].getQuality() < 80) {
21
-                items[i].setSellIn(items[i].getSellIn() - 1);
22
-            }
19
+            } else if (items[i].getName().equals("Conjured Mage Water")){
20
+              conjuredItemUpdate(i);
21
+            }else{regularItemUpdate(i);}
23
 
22
 
23
+        if (items[i].getQuality() < 80) {
24
+            items[i].setSellIn(items[i].getSellIn() - 1);
24
         }
25
         }
25
-    }
26
 
26
 
27
-    public void agedBrieUpdate(int i){
28
-        if(items[i].getSellIn() > 0 && items[i].getQuality() <= 49){
29
-            items[i].setQuality(items[i].getQuality() + 1);
30
-        } else if(items[i].getSellIn() < 0 && items[i].getQuality() <= 48){
31
-            items[i].setQuality(items[i].getQuality() + 2);
32
-        } 
33
     }
27
     }
34
 
28
 
35
-    public void regularItemUpdate(int i){
36
-        if(items[i].getSellIn() > 0 && items[i].getQuality() > 0){
37
-            items[i].setQuality(items[i].getQuality() - 1);
38
-        } else if(items[i].getSellIn() < 0 && items[i].getQuality() > 1){
39
-            items[i].setQuality(items[i].getQuality() - 2);
40
-        } 
41
-    }
42
 }
29
 }
43
 
30
 
31
+public void agedBrieUpdate(int i){
32
+if(items[i].getSellIn() > 0 && items[i].getQuality() <= 49){
33
+items[i].setQuality(items[i].getQuality() + 1);
34
+} else if(items[i].getSellIn() < 0 && items[i].getQuality() <= 48){
35
+items[i].setQuality(items[i].getQuality() + 2);
36
+} 
37
+}
38
+
39
+public void regularItemUpdate(int i){
40
+if(items[i].getSellIn() > 0 && items[i].getQuality() > 0){
41
+items[i].setQuality(items[i].getQuality() - 1);
42
+} else if(items[i].getSellIn() < 0 && items[i].getQuality() > 1){
43
+items[i].setQuality(items[i].getQuality() - 2);
44
+} 
45
+}
46
+
47
+public void conjuredItemUpdate(int i){
48
+if(items[i].getSellIn() > 0 && items[i].getQuality() > 0){
49
+items[i].setQuality(items[i].getQuality() - 2);
50
+} else if(items[i].getSellIn() < 0 && items[i].getQuality() > 1){
51
+items[i].setQuality(items[i].getQuality() - 4);
52
+} 
53
+}
54
+}
44
 
55
 

+ 37
- 2
InventoryTest.java 파일 보기

8
     private static final String AGED_BRIE_NAME = "Aged Brie";
8
     private static final String AGED_BRIE_NAME = "Aged Brie";
9
     private static final String BACKSTAGE_PASS_NAME = "Backstage passes to a TAFKAL80ETC concert";
9
     private static final String BACKSTAGE_PASS_NAME = "Backstage passes to a TAFKAL80ETC concert";
10
     private static final String NORMAL_ITEM_NAME = "+5 Dexterity Vest";
10
     private static final String NORMAL_ITEM_NAME = "+5 Dexterity Vest";
11
-
11
+    private static final String CONJURED_ITEM_NAME = "Conjured Mage Water";
12
     private Item sulfuras;
12
     private Item sulfuras;
13
     private Item normalItem;
13
     private Item normalItem;
14
 
14
 
105
 
105
 
106
         sut.updateQuality();
106
         sut.updateQuality();
107
 
107
 
108
-        assertEquals(MAX_QUALITY, agedBrie.getQuality());
108
+        assertEquals(MAX_QUALITY , agedBrie.getQuality());
109
     }
109
     }
110
 
110
 
111
     @Test
111
     @Test
119
 
119
 
120
         assertEquals(expectedQuality, agedBrie.getQuality());
120
         assertEquals(expectedQuality, agedBrie.getQuality());
121
     }
121
     }
122
+    
123
+        @Test
124
+    public void testUpdate_ConjuredItem() throws Exception {
125
+        Item conjuredMageWater = new Item(CONJURED_ITEM_NAME, 10, 25);
126
+        int expectedQuality = conjuredMageWater.getQuality() -2 ;
127
+        Item[] items = {conjuredMageWater};
128
+        Inventory sut = new Inventory(items);
129
+
130
+        sut.updateQuality();
131
+
132
+        assertEquals(expectedQuality, conjuredMageWater.getQuality());
133
+    }
134
+
135
+    @Test
136
+    public void testUpdate_WhenConjuredItemIsAtMaxQuality() throws Exception {
137
+        Item conjuredMageWater = new Item(CONJURED_ITEM_NAME, 10, MAX_QUALITY);
138
+        Item[] items = {conjuredMageWater};
139
+        Inventory sut = new Inventory(items);
140
+
141
+        sut.updateQuality();
142
+
143
+        assertEquals(MAX_QUALITY - 2, conjuredMageWater.getQuality());
144
+    }
145
+
146
+    @Test
147
+    public void testUpdate_WhenConjuredItemOnceTheSellInDatePassed() throws Exception {
148
+        Item conjuredMageWater = new Item(CONJURED_ITEM_NAME, -1, 20);
149
+        int expectedQuality = conjuredMageWater.getQuality() - 4;
150
+        Item[] items = {conjuredMageWater};
151
+        Inventory sut = new Inventory(items);
152
+
153
+        sut.updateQuality();
154
+
155
+        assertEquals(expectedQuality, conjuredMageWater.getQuality());
156
+    }
122
 }
157
 }

+ 4
- 4
package.bluej 파일 보기

5
 dependency2.from=InventoryTest
5
 dependency2.from=InventoryTest
6
 dependency2.to=Inventory
6
 dependency2.to=Inventory
7
 dependency2.type=UsesDependency
7
 dependency2.type=UsesDependency
8
-editor.fx.0.height=1080
9
-editor.fx.0.width=1920
10
-editor.fx.0.x=-335
11
-editor.fx.0.y=-1080
8
+editor.fx.0.height=722
9
+editor.fx.0.width=800
10
+editor.fx.0.x=240
11
+editor.fx.0.y=41
12
 objectbench.height=164
12
 objectbench.height=164
13
 objectbench.width=776
13
 objectbench.width=776
14
 package.divider.horizontal=0.6
14
 package.divider.horizontal=0.6