mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
general refactoring | introduce upgradeBy
This commit is contained in:
parent
4b3e84facb
commit
3e58c3d0d5
6
Java/src/main/java/com/gildedrose/Constants.java
Normal file
6
Java/src/main/java/com/gildedrose/Constants.java
Normal file
@ -0,0 +1,6 @@
|
||||
package com.gildedrose;
|
||||
|
||||
public class Constants {
|
||||
public static final int MAX_QUALITY = 50;
|
||||
public static final int MIN_QUALITY = 0;
|
||||
}
|
||||
@ -1,6 +1,10 @@
|
||||
package com.gildedrose;
|
||||
|
||||
import static com.gildedrose.Constants.MAX_QUALITY;
|
||||
import static com.gildedrose.Constants.MIN_QUALITY;
|
||||
|
||||
class GildedRose {
|
||||
|
||||
Item[] items;
|
||||
|
||||
public GildedRose(Item[] items) {
|
||||
@ -25,10 +29,6 @@ class GildedRose {
|
||||
item.sellIn = item.sellIn - 1;
|
||||
}
|
||||
|
||||
private Integer degradeQualityBy(int currentQuality, int degradeBy) {
|
||||
return Math.max(currentQuality - degradeBy, 0);
|
||||
}
|
||||
|
||||
private void updateQuality(Item item) {
|
||||
if (!item.name.equals("Aged Brie")
|
||||
&& !item.name.equals("Backstage passes to a TAFKAL80ETC concert")) {
|
||||
@ -44,13 +44,13 @@ class GildedRose {
|
||||
if (item.name.equals("Backstage passes to a TAFKAL80ETC concert")) {
|
||||
if (item.sellIn < 11) {
|
||||
if (item.quality < 50) {
|
||||
item.quality = item.quality + 1;
|
||||
item.quality = upgradeQualityBy(item.quality, 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (item.sellIn < 6) {
|
||||
if (item.quality < 50) {
|
||||
item.quality = item.quality + 1;
|
||||
item.quality = upgradeQualityBy(item.quality, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -79,4 +79,12 @@ class GildedRose {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Integer degradeQualityBy(int currentQuality, int degradeBy) {
|
||||
return Math.max(currentQuality - degradeBy, MIN_QUALITY);
|
||||
}
|
||||
|
||||
private Integer upgradeQualityBy(int currentQuality, int upgradeBy) {
|
||||
return Math.min(currentQuality + upgradeBy, MAX_QUALITY);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user