Finish refactor

This commit is contained in:
Roberto de la Banda 2021-09-11 14:58:02 +02:00
parent 54ec015566
commit 4421c7066a
4 changed files with 18 additions and 97 deletions

View File

@ -1,6 +1,6 @@
package com.gildedrose;
import static com.gildedrose.Constants.*;
import static com.gildedrose.Constants.MAX_QUALITY;
public class AgedBrie extends InventoryItem {
public AgedBrie(Item item) {
@ -9,52 +9,10 @@ public class AgedBrie extends InventoryItem {
@Override
void age() {
if (item.name.equals(AGED_BRIE)
|| item.name.equals(BACKSTAGE)) {
if (item.quality < 50) {
item.quality = item.quality + 1;
if (item.name.equals(BACKSTAGE)) {
if (item.sellIn < 11) {
if (item.quality < 50) {
item.quality = item.quality + 1;
}
}
if (item.sellIn < 6) {
if (item.quality < 50) {
item.quality = item.quality + 1;
}
}
}
}
} else {
if (item.quality > 0) {
if (!item.name.equals(SULFURAS)) {
item.quality = item.quality - 1;
}
}
}
if (!item.name.equals(SULFURAS)) {
item.sellIn = item.sellIn - 1;
}
if (item.sellIn < 0) {
if (item.name.equals(AGED_BRIE)) {
if (item.quality < 50) {
item.quality = item.quality + 1;
}
} else {
if (!item.name.equals(BACKSTAGE)) {
if (item.quality > 0) {
if (!item.name.equals(SULFURAS)) {
item.quality = item.quality - 1;
}
}
} else {
item.quality = 0;
}
}
if (item.quality < MAX_QUALITY) {
item.quality++;
}
decreaseSellIn();
if (item.sellIn < Constants.SELLIN_DAY && item.quality < MAX_QUALITY) item.quality++;
}
}

View File

@ -1,60 +1,19 @@
package com.gildedrose;
import static com.gildedrose.Constants.*;
public class Backstage extends InventoryItem {
public Backstage(Item item) {
super(item);
}
@Override
void age() {
if (item.name.equals(AGED_BRIE)
|| item.name.equals(BACKSTAGE)) {
if (item.quality < 50) {
item.quality = item.quality + 1;
if (item.name.equals(BACKSTAGE)) {
if (item.sellIn < 11) {
if (item.quality < 50) {
item.quality = item.quality + 1;
}
}
if (item.sellIn < 6) {
if (item.quality < 50) {
item.quality = item.quality + 1;
}
}
}
}
} else {
if (item.quality > 0) {
if (!item.name.equals(SULFURAS)) {
item.quality = item.quality - 1;
}
}
}
if (!item.name.equals(SULFURAS)) {
item.sellIn = item.sellIn - 1;
}
if (item.sellIn < 0) {
if (item.name.equals(AGED_BRIE)) {
if (item.quality < 50) {
item.quality = item.quality + 1;
}
} else {
if (!item.name.equals(BACKSTAGE)) {
if (item.quality > 0) {
if (!item.name.equals(SULFURAS)) {
item.quality = item.quality - 1;
}
}
} else {
item.quality = 0;
}
}
if (item.quality < Constants.MAX_QUALITY) {
item.quality = item.quality + 1;
if (item.sellIn < 11 && item.quality < Constants.MAX_QUALITY) item.quality++;
if (item.sellIn < 6 && item.quality < Constants.MAX_QUALITY) item.quality++;
}
decreaseSellIn();
if (item.sellIn < Constants.SELLIN_DAY) item.quality = Constants.MIN_QUALITY;
}
}

View File

@ -4,6 +4,10 @@ public final class Constants {
public static final String BACKSTAGE = "Backstage passes to a TAFKAL80ETC concert";
public static final String AGED_BRIE = "Aged Brie";
public static final String SULFURAS = "Sulfuras, Hand of Ragnaros";
public static final int MAX_QUALITY = 50;
public static final int MIN_QUALITY = 0;
public static final int SELLIN_DAY = 0;
private Constants() {
}
}

View File

@ -23,10 +23,10 @@ public class InventoryItem {
}
protected void decreaseSellIn() {
item.sellIn = item.sellIn - 1;
item.sellIn--;
}
protected void decreaseQuality() {
if (item.quality > 0) item.quality = item.quality - 1;
if (item.quality > 0) item.quality--;
}
}