mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 06:51:27 +00:00
Refactor handleBackstagePasses
This commit is contained in:
parent
069708dce9
commit
5f4dffb5e3
@ -82,19 +82,15 @@ class GildedRose {
|
||||
|
||||
private static void handleBackstagePasses(Item item) {
|
||||
// todo: make it so these items can't be initialized with over 50
|
||||
if (item.sellIn == 0) {
|
||||
item.quality = 0;
|
||||
return;
|
||||
}
|
||||
if (item.quality == 50) {
|
||||
return;
|
||||
}
|
||||
if (item.sellIn <= 10) {
|
||||
if (item.sellIn <= 5) {
|
||||
item.quality += 3;
|
||||
} else {
|
||||
item.quality += 2;
|
||||
}
|
||||
if (item.sellIn == 0) {
|
||||
item.quality = 0;
|
||||
} else if (item.sellIn <= 5) {
|
||||
item.quality += 3;
|
||||
} else if (item.sellIn <= 10) {
|
||||
item.quality += 2;
|
||||
}
|
||||
item.sellIn -= 1;
|
||||
}
|
||||
|
||||
@ -179,7 +179,7 @@ class GildedRoseTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void sellInDateCanBeNegative() {
|
||||
public void sellInDateCanBeNegativeForGenericItems() {
|
||||
Item[] items = new Item[] { new Item("generic item", 1, 1) };
|
||||
GildedRose app = new GildedRose(items);
|
||||
app.updateQuality();
|
||||
@ -190,6 +190,30 @@ class GildedRoseTest {
|
||||
assertEquals(app.items.get(0).sellIn, -2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void sellInDateCanBeNegativeForAgedBrie() {
|
||||
Item[] items = new Item[] { new Item(GildedRose.AGED_BRIE, 1, 1) };
|
||||
GildedRose app = new GildedRose(items);
|
||||
app.updateQuality();
|
||||
assertEquals(app.items.get(0).sellIn, 0);
|
||||
app.updateQuality();
|
||||
assertEquals(app.items.get(0).sellIn, -1);
|
||||
app.updateQuality();
|
||||
assertEquals(app.items.get(0).sellIn, -2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void sellInDateCanBeNegativeForBackStagePasses() {
|
||||
Item[] items = new Item[] { new Item(GildedRose.BACKSTAGE_PASSES, 1, 1) };
|
||||
GildedRose app = new GildedRose(items);
|
||||
app.updateQuality();
|
||||
assertEquals(app.items.get(0).sellIn, 0);
|
||||
app.updateQuality();
|
||||
assertEquals(app.items.get(0).sellIn, -1);
|
||||
app.updateQuality();
|
||||
assertEquals(app.items.get(0).sellIn, -2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itUpdatesAllItemsPassedIn() {
|
||||
Item[] items = new Item[] {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user