mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 06:21:29 +00:00
abstract class implements methods which are not overridden
This commit is contained in:
parent
77e9669f6e
commit
cda1b03183
@ -1,10 +1,10 @@
|
|||||||
package com.gildedrose.item;
|
package com.gildedrose.item;
|
||||||
|
|
||||||
public class AgedBrie extends CustomisedItem {
|
class AgedBrie extends CustomisedItem {
|
||||||
|
|
||||||
private final Item item;
|
private final Item item;
|
||||||
|
|
||||||
public AgedBrie(Item item) {
|
AgedBrie(Item item) {
|
||||||
this.item = item;
|
this.item = item;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -17,14 +17,4 @@ public class AgedBrie extends CustomisedItem {
|
|||||||
int updatedItemQuality() {
|
int updatedItemQuality() {
|
||||||
return item.quality += 1;
|
return item.quality += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean hasReachedHighestQualityValue() {
|
|
||||||
return item.quality > QualityValues.highestValuePossible(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean hasReachedLowestQualityValue() {
|
|
||||||
return item.quality < QualityValues.lowestValuePossible();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
package com.gildedrose.item;
|
package com.gildedrose.item;
|
||||||
|
|
||||||
public class BackstagePassesItem extends CustomisedItem {
|
class BackstagePassesItem extends CustomisedItem {
|
||||||
|
|
||||||
private final Item item;
|
private final Item item;
|
||||||
|
|
||||||
public BackstagePassesItem(Item item) {
|
BackstagePassesItem(Item item) {
|
||||||
this.item = item;
|
this.item = item;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -26,16 +26,6 @@ public class BackstagePassesItem extends CustomisedItem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean hasReachedHighestQualityValue() {
|
|
||||||
return item.quality > QualityValues.highestValuePossible(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean hasReachedLowestQualityValue() {
|
|
||||||
return item.quality < QualityValues.lowestValuePossible();
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean sellByDayValueIsOver(int dayNumber) {
|
private boolean sellByDayValueIsOver(int dayNumber) {
|
||||||
return item.sellIn > dayNumber;
|
return item.sellIn > dayNumber;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,23 +1,13 @@
|
|||||||
package com.gildedrose.item;
|
package com.gildedrose.item;
|
||||||
|
|
||||||
public class ConjuredItem extends CustomisedItem {
|
class ConjuredItem extends CustomisedItem {
|
||||||
|
|
||||||
private final Item item;
|
private final Item item;
|
||||||
|
|
||||||
public ConjuredItem(Item item) {
|
ConjuredItem(Item item) {
|
||||||
this.item = item;
|
this.item = item;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean hasReachedHighestQualityValue() {
|
|
||||||
return item.quality > QualityValues.highestValuePossible(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean hasReachedLowestQualityValue() {
|
|
||||||
return item.quality < QualityValues.lowestValuePossible();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
int updatedItemSellIn() {
|
int updatedItemSellIn() {
|
||||||
return item.sellIn -= 1;
|
return item.sellIn -= 1;
|
||||||
|
|||||||
@ -6,9 +6,9 @@ public abstract class CustomisedItem {
|
|||||||
item.sellIn = updatedItemSellIn();
|
item.sellIn = updatedItemSellIn();
|
||||||
item.quality = updatedItemQuality();
|
item.quality = updatedItemQuality();
|
||||||
|
|
||||||
if (hasReachedLowestQualityValue()) {
|
if (hasReachedLowestQualityValue(item)) {
|
||||||
item.quality = QualityValues.lowestValuePossible();
|
item.quality = QualityValues.lowestValuePossible();
|
||||||
} else if (hasReachedHighestQualityValue()) {
|
} else if (hasReachedHighestQualityValue(item)) {
|
||||||
item.quality = QualityValues.highestValuePossible(item);
|
item.quality = QualityValues.highestValuePossible(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -17,7 +17,11 @@ public abstract class CustomisedItem {
|
|||||||
|
|
||||||
abstract int updatedItemQuality();
|
abstract int updatedItemQuality();
|
||||||
|
|
||||||
protected abstract boolean hasReachedHighestQualityValue();
|
private boolean hasReachedHighestQualityValue(Item item) {
|
||||||
|
return item.quality > QualityValues.highestValuePossible(item);
|
||||||
protected abstract boolean hasReachedLowestQualityValue();
|
}
|
||||||
|
|
||||||
|
private boolean hasReachedLowestQualityValue(Item item) {
|
||||||
|
return item.quality < QualityValues.lowestValuePossible();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
package com.gildedrose.item;
|
package com.gildedrose.item;
|
||||||
|
|
||||||
public final class QualityValues {
|
final class QualityValues {
|
||||||
|
|
||||||
public static int lowestValuePossible() {
|
static int lowestValuePossible() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int highestValuePossible(Item item) {
|
static int highestValuePossible(Item item) {
|
||||||
if (item.name.equals(CustomisedItemFactory.SULFURAS)) {
|
if (item.name.equals(CustomisedItemFactory.SULFURAS)) {
|
||||||
return 80;
|
return 80;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
package com.gildedrose.item;
|
package com.gildedrose.item;
|
||||||
|
|
||||||
public class StandardItem extends CustomisedItem {
|
class StandardItem extends CustomisedItem {
|
||||||
|
|
||||||
private final Item item;
|
private final Item item;
|
||||||
|
|
||||||
public StandardItem(Item item) {
|
StandardItem(Item item) {
|
||||||
this.item = item;
|
this.item = item;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -22,16 +22,6 @@ public class StandardItem extends CustomisedItem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean hasReachedHighestQualityValue() {
|
|
||||||
return item.quality > QualityValues.highestValuePossible(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean hasReachedLowestQualityValue() {
|
|
||||||
return item.quality < QualityValues.lowestValuePossible();
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean sellByDayValueIsOverZero() {
|
private boolean sellByDayValueIsOverZero() {
|
||||||
return item.sellIn > 0;
|
return item.sellIn > 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
package com.gildedrose.item;
|
package com.gildedrose.item;
|
||||||
|
|
||||||
public class Sulfuras extends CustomisedItem {
|
class Sulfuras extends CustomisedItem {
|
||||||
|
|
||||||
private final Item item;
|
private final Item item;
|
||||||
|
|
||||||
public Sulfuras(Item item) {
|
Sulfuras(Item item) {
|
||||||
this.item = item;
|
this.item = item;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -17,14 +17,4 @@ public class Sulfuras extends CustomisedItem {
|
|||||||
int updatedItemQuality() {
|
int updatedItemQuality() {
|
||||||
return item.quality;
|
return item.quality;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean hasReachedHighestQualityValue() {
|
|
||||||
return item.quality > QualityValues.highestValuePossible(item) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean hasReachedLowestQualityValue() {
|
|
||||||
return item.quality < QualityValues.lowestValuePossible();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user