Skip to content

Commit cd234fa

Browse files
committed
Step #A3-12: Implement New Feature business logic
1 parent 8fa7d76 commit cd234fa

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

Gilded Rose/src/main/java/com/gildedrose/GildedRose.java

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)