mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-17 15:31:27 +00:00
Use offsets to update quality of a product
This commit is contained in:
parent
03ee348b4d
commit
c91b545267
@ -21,9 +21,10 @@ class GildedRose {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (isEnhancingItem(item)) {
|
if (isEnhancingItem(item)) {
|
||||||
enhanceItem(item);
|
int qualityOffset = determineQualityOffset(item);
|
||||||
|
enhanceItem(item, qualityOffset);
|
||||||
} else {
|
} else {
|
||||||
degradeItem(item);
|
degradeItem(item,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
updateSellInValue(item);
|
updateSellInValue(item);
|
||||||
@ -31,12 +32,12 @@ class GildedRose {
|
|||||||
if (item.sellIn < 0) {
|
if (item.sellIn < 0) {
|
||||||
if (!item.name.equals(AGED_BRIE)) {
|
if (!item.name.equals(AGED_BRIE)) {
|
||||||
if (!item.name.equals(BACKSTAGE_PASSES)) {
|
if (!item.name.equals(BACKSTAGE_PASSES)) {
|
||||||
degradeItem(item);
|
degradeItem(item,1);
|
||||||
} else {
|
} else {
|
||||||
item.quality = MIN_QUALITY;
|
degradeItem(item,item.quality);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
item.quality = Integer.min(item.quality + 1, MAX_QUALITY);
|
enhanceItem(item, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -45,8 +46,8 @@ class GildedRose {
|
|||||||
/**
|
/**
|
||||||
* @param item
|
* @param item
|
||||||
*/
|
*/
|
||||||
private void degradeItem(Item item) {
|
private void degradeItem(Item item, int qualityOffset) {
|
||||||
item.quality = Integer.max(MIN_QUALITY, item.quality - 1);
|
item.quality = Integer.max(MIN_QUALITY, item.quality - qualityOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -68,17 +69,26 @@ class GildedRose {
|
|||||||
/**
|
/**
|
||||||
* @param item
|
* @param item
|
||||||
*/
|
*/
|
||||||
private void enhanceItem(Item item) {
|
private void enhanceItem(Item item, int qualityOffset) {
|
||||||
|
item.quality = Integer.min(item.quality + qualityOffset, MAX_QUALITY);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param item
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private int determineQualityOffset(Item item) {
|
||||||
|
int qualityOffsett = 1;
|
||||||
if (item.name.equals(BACKSTAGE_PASSES)) {
|
if (item.name.equals(BACKSTAGE_PASSES)) {
|
||||||
if (isExperingSale(item)) {
|
if (isExperingSale(item)) {
|
||||||
item.quality = item.quality + 1;
|
qualityOffsett += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isUrgentSale(item)) {
|
if (isUrgentSale(item)) {
|
||||||
item.quality = item.quality + 1;
|
qualityOffsett += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
item.quality = Integer.min(item.quality + 1, MAX_QUALITY);
|
return qualityOffsett;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user