Skip to content

Commit

Permalink
Step #A3-12: Implement New Feature business logic
Browse files Browse the repository at this point in the history
  • Loading branch information
mohamed-taman committed Sep 30, 2020
1 parent 8fa7d76 commit cd234fa
Showing 1 changed file with 23 additions and 8 deletions.
31 changes: 23 additions & 8 deletions Gilded Rose/src/main/java/com/gildedrose/GildedRose.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,29 @@ public GildedRose(Item[] items) {
public void updateQuality() {
for (final Item item : items) {
handleIfNormalItem(item);
handleIfAgedBrie(item);
handleIfBackstagePasses(item);
handleIfSulfuras(item);
handleIfAgedBrieItem(item);
handleIfBackstagePassesItem(item);
handleIfSulfurasItem(item);
handleIfConjuredItem(item);
}
}

private void handleIfSulfuras(Item item) {
private void handleIfConjuredItem(Item item) {
if (isConjured(item)) {
item.sellIn--;
item.quality = item.quality - 2;
}
}

private void handleIfSulfurasItem(Item item) {
if (isSulfuras(item)) {
// We always write the least amount of code to make the pin-down
// tests go green. In this case, we didn't have to write any
// code -- so this is the correct solution.
}
}

private void handleIfBackstagePasses(Item item) {
private void handleIfBackstagePassesItem(Item item) {
if (isBackstagePasses(item)) {
item.sellIn--;
if (item.sellIn <= 0) {
Expand All @@ -49,7 +57,7 @@ private void handleIfBackstagePasses(Item item) {
}
}

private void handleIfAgedBrie(Item item) {
private void handleIfAgedBrieItem(Item item) {
if (isAgedBrie(item)) {
item.sellIn--;
if (item.sellIn <= 0) {
Expand All @@ -76,7 +84,14 @@ private void handleIfNormalItem(Item item) {
}

private boolean isNormalItem(Item item) {
return !(isAgedBrie(item) || isBackstagePasses(item) || isSulfuras(item));
return !(isAgedBrie(item) ||
isBackstagePasses(item) ||
isSulfuras(item) ||
isConjured(item));
}

private boolean isConjured(Item item) {
return item.name.equals(CONJURED);
}

private boolean isBackstagePasses(Item item) {
Expand All @@ -90,4 +105,4 @@ private boolean isSulfuras(Item item) {
private boolean isAgedBrie(Item item) {
return item.name.equals(AGED_BRIE);
}
}
}

0 comments on commit cd234fa

Please sign in to comment.