mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 14:31:28 +00:00
Cleanup
This commit is contained in:
parent
d4ccdfe0e9
commit
afc32f86f7
@ -3,7 +3,6 @@ package com.gildedrose;
|
|||||||
import com.gildedrose.domain.*;
|
import com.gildedrose.domain.*;
|
||||||
import com.gildedrose.domain.InventoryItem;
|
import com.gildedrose.domain.InventoryItem;
|
||||||
|
|
||||||
import static java.util.stream.IntStream.range;
|
|
||||||
import static java.util.stream.Stream.of;
|
import static java.util.stream.Stream.of;
|
||||||
|
|
||||||
class GildedRose {
|
class GildedRose {
|
||||||
@ -26,17 +25,11 @@ class GildedRose {
|
|||||||
// reduce sellIn
|
// reduce sellIn
|
||||||
item.sellIn = inventoryItem.reduceSellIn();
|
item.sellIn = inventoryItem.reduceSellIn();
|
||||||
|
|
||||||
// increase quality when quality decrease is inverted
|
// increase or decrease quality based on the items
|
||||||
if (inventoryItem.qualityDecreaseInverted()) {
|
item.quality = inventoryItem.handleQuality();
|
||||||
item.quality = inventoryItem.increaseQualityBelowMaximum();
|
|
||||||
}
|
|
||||||
|
|
||||||
// decrease quality based on their decrease amount
|
|
||||||
else {
|
|
||||||
range(0, inventoryItem.qualityDecreaseAmount()).forEach(i -> item.quality = inventoryItem.decreaseQualityAboveZero());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.sellIn < 0) {
|
if (item.sellIn < 0) {
|
||||||
|
// increase or decrease quality more after sell in
|
||||||
item.quality = inventoryItem.handleQualityAfterSellIn();
|
item.quality = inventoryItem.handleQualityAfterSellIn();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -11,8 +11,9 @@ public class AgedBrie extends InventoryItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean qualityDecreaseInverted() {
|
public int handleQuality() {
|
||||||
return true;
|
quality = increaseQualityBelowMaximum();
|
||||||
|
return quality;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -11,8 +11,9 @@ public class BackstagePass extends InventoryItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean qualityDecreaseInverted() {
|
public int handleQuality() {
|
||||||
return true;
|
quality = increaseQualityBelowMaximum();
|
||||||
|
return quality;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -10,11 +10,6 @@ public class ConjuredItem extends InventoryItem {
|
|||||||
setQuality(item.quality);
|
setQuality(item.quality);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean qualityDecreaseInverted() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int qualityDecreaseAmount() {
|
public int qualityDecreaseAmount() {
|
||||||
return 2;
|
return 2;
|
||||||
|
|||||||
@ -10,11 +10,6 @@ public class DefaultItem extends InventoryItem {
|
|||||||
setQuality(item.quality);
|
setQuality(item.quality);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean qualityDecreaseInverted() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int qualityDecreaseAmount() {
|
public int qualityDecreaseAmount() {
|
||||||
return 1;
|
return 1;
|
||||||
|
|||||||
@ -3,6 +3,8 @@ package com.gildedrose.domain;
|
|||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import static java.util.stream.IntStream.range;
|
||||||
|
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Setter
|
@Setter
|
||||||
public abstract class InventoryItem {
|
public abstract class InventoryItem {
|
||||||
@ -12,8 +14,6 @@ public abstract class InventoryItem {
|
|||||||
public int quality;
|
public int quality;
|
||||||
public int sellIn;
|
public int sellIn;
|
||||||
|
|
||||||
public abstract boolean qualityDecreaseInverted();
|
|
||||||
|
|
||||||
public abstract int qualityDecreaseAmount();
|
public abstract int qualityDecreaseAmount();
|
||||||
|
|
||||||
public abstract int handleQualityAfterSellIn();
|
public abstract int handleQualityAfterSellIn();
|
||||||
@ -34,4 +34,9 @@ public abstract class InventoryItem {
|
|||||||
sellIn--;
|
sellIn--;
|
||||||
return sellIn;
|
return sellIn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int handleQuality() {
|
||||||
|
range(0, qualityDecreaseAmount()).forEach(i -> quality = decreaseQualityAboveZero());
|
||||||
|
return quality;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,11 +11,6 @@ public class Legendary extends InventoryItem {
|
|||||||
setQuality(item.quality);
|
setQuality(item.quality);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean qualityDecreaseInverted() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int qualityDecreaseAmount() {
|
public int qualityDecreaseAmount() {
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user