🔨 simplify checks and rename functions

This commit is contained in:
Velizar Todorov 2021-11-26 15:07:51 +01:00
parent ab3f5032dd
commit 349889edd8
4 changed files with 23 additions and 31 deletions

View File

@ -12,14 +12,6 @@ public class ItemHandler {
this.item = item; this.item = item;
} }
public boolean qualityIsHigherThanZero() {
return item.quality > 0;
}
public void makeQualityZero() {
item.quality = 0;
}
public void decrementSellInDate() { public void decrementSellInDate() {
item.sellIn--; item.sellIn--;
} }
@ -28,20 +20,24 @@ public class ItemHandler {
return item.sellIn >= 0; return item.sellIn >= 0;
} }
public boolean sellInLessThan5Days() { public boolean lessThan5DaysToSellIn() {
return item.sellIn >= 0 && item.sellIn <= 5; return item.sellIn >= 0 && item.sellIn <= 5;
} }
public boolean sellInLessThan10Days() { public boolean lessThan10DaysToSellIn() {
return item.sellIn >= 5 && item.sellIn <= 10; return item.sellIn >= 5 && item.sellIn <= 10;
} }
public boolean sellInMoreThan10Days() { public boolean moreThan10DaysToSellIn() {
return item.sellIn >= 10; return item.sellIn >= 10;
} }
public void makeQualityZero() {
item.quality = 0;
}
public void incrementQuality() { public void incrementQuality() {
item.quality++; item.quality = max(item.quality + 1, 0);
} }
public void incrementQualityBy2() { public void incrementQualityBy2() {
@ -53,7 +49,7 @@ public class ItemHandler {
} }
public void decrementQuality() { public void decrementQuality() {
item.quality--; item.quality = max(item.quality - 1, 0);
} }
public void decrementQualityBy2() { public void decrementQualityBy2() {

View File

@ -1,8 +1,8 @@
package com.gildedrose.items; package com.gildedrose.items;
import com.gildedrose.main.Item;
import com.gildedrose.item_helpers.ItemHandler; import com.gildedrose.item_helpers.ItemHandler;
import com.gildedrose.item_helpers.ItemType; import com.gildedrose.item_helpers.ItemType;
import com.gildedrose.main.Item;
public class BackstagePassItem implements ItemType { public class BackstagePassItem implements ItemType {
@ -15,11 +15,11 @@ public class BackstagePassItem implements ItemType {
@Override @Override
public void updateQuality() { public void updateQuality() {
item.decrementSellInDate(); item.decrementSellInDate();
if (item.sellInMoreThan10Days()) { if (item.moreThan10DaysToSellIn()) {
item.incrementQuality(); item.incrementQuality();
} else if (item.sellInLessThan10Days()) { } else if (item.lessThan10DaysToSellIn()) {
item.incrementQualityBy2(); item.incrementQualityBy2();
} else if (item.sellInLessThan5Days()) { } else if (item.lessThan5DaysToSellIn()) {
item.incrementQualityBy3(); item.incrementQualityBy3();
} else { } else {
item.makeQualityZero(); item.makeQualityZero();

View File

@ -1,8 +1,8 @@
package com.gildedrose.items; package com.gildedrose.items;
import com.gildedrose.main.Item;
import com.gildedrose.item_helpers.ItemHandler; import com.gildedrose.item_helpers.ItemHandler;
import com.gildedrose.item_helpers.ItemType; import com.gildedrose.item_helpers.ItemType;
import com.gildedrose.main.Item;
public class ConjuredItem implements ItemType { public class ConjuredItem implements ItemType {
@ -15,13 +15,11 @@ public class ConjuredItem implements ItemType {
@Override @Override
public void updateQuality() { public void updateQuality() {
item.decrementSellInDate(); item.decrementSellInDate();
if (item.qualityIsHigherThanZero()) {
if (item.beforeSellInDate()) { if (item.beforeSellInDate()) {
item.decrementQuality(); item.decrementQuality();
} else { } else {
item.decrementQualityBy4(); item.decrementQualityBy4();
} }
} }
}
} }

View File

@ -1,8 +1,8 @@
package com.gildedrose.items; package com.gildedrose.items;
import com.gildedrose.main.Item;
import com.gildedrose.item_helpers.ItemHandler; import com.gildedrose.item_helpers.ItemHandler;
import com.gildedrose.item_helpers.ItemType; import com.gildedrose.item_helpers.ItemType;
import com.gildedrose.main.Item;
public class NormalItem implements ItemType { public class NormalItem implements ItemType {
@ -15,13 +15,11 @@ public class NormalItem implements ItemType {
@Override @Override
public void updateQuality() { public void updateQuality() {
item.decrementSellInDate(); item.decrementSellInDate();
if (item.qualityIsHigherThanZero()) {
if (item.beforeSellInDate()) { if (item.beforeSellInDate()) {
item.decrementQuality(); item.decrementQuality();
} else { } else {
item.decrementQualityBy2(); item.decrementQualityBy2();
} }
} }
}
} }