@@ -17,21 +17,29 @@ public GildedRose(Item[] items) {
1717 public void updateQuality () {
1818 for (final Item item : items ) {
1919 handleIfNormalItem (item );
20- handleIfAgedBrie (item );
21- handleIfBackstagePasses (item );
22- handleIfSulfuras (item );
20+ handleIfAgedBrieItem (item );
21+ handleIfBackstagePassesItem (item );
22+ handleIfSulfurasItem (item );
23+ handleIfConjuredItem (item );
2324 }
2425 }
2526
26- private void handleIfSulfuras (Item item ) {
27+ private void handleIfConjuredItem (Item item ) {
28+ if (isConjured (item )) {
29+ item .sellIn --;
30+ item .quality = item .quality - 2 ;
31+ }
32+ }
33+
34+ private void handleIfSulfurasItem (Item item ) {
2735 if (isSulfuras (item )) {
2836 // We always write the least amount of code to make the pin-down
2937 // tests go green. In this case, we didn't have to write any
3038 // code -- so this is the correct solution.
3139 }
3240 }
3341
34- private void handleIfBackstagePasses (Item item ) {
42+ private void handleIfBackstagePassesItem (Item item ) {
3543 if (isBackstagePasses (item )) {
3644 item .sellIn --;
3745 if (item .sellIn <= 0 ) {
@@ -49,7 +57,7 @@ private void handleIfBackstagePasses(Item item) {
4957 }
5058 }
5159
52- private void handleIfAgedBrie (Item item ) {
60+ private void handleIfAgedBrieItem (Item item ) {
5361 if (isAgedBrie (item )) {
5462 item .sellIn --;
5563 if (item .sellIn <= 0 ) {
@@ -76,7 +84,14 @@ private void handleIfNormalItem(Item item) {
7684 }
7785
7886 private boolean isNormalItem (Item item ) {
79- return !(isAgedBrie (item ) || isBackstagePasses (item ) || isSulfuras (item ));
87+ return !(isAgedBrie (item ) ||
88+ isBackstagePasses (item ) ||
89+ isSulfuras (item ) ||
90+ isConjured (item ));
91+ }
92+
93+ private boolean isConjured (Item item ) {
94+ return item .name .equals (CONJURED );
8095 }
8196
8297 private boolean isBackstagePasses (Item item ) {
@@ -90,4 +105,4 @@ private boolean isSulfuras(Item item) {
90105 private boolean isAgedBrie (Item item ) {
91106 return item .name .equals (AGED_BRIE );
92107 }
93- }
108+ }
0 commit comments