Once the sell by date has passed (<=0), Quality degrades twice as fast

This commit is contained in:
Sallah Kokaina 2019-11-01 11:30:49 +01:00
parent 91e8ffd57e
commit d278d9b389
2 changed files with 20 additions and 3 deletions

View File

@ -10,7 +10,7 @@
# unit tests
-[x] At the end of each day our system lowers both values for every item
-[ ] Once the sell by date has passed, Quality degrades twice as fast
-[x] Once the sell by date has passed, Quality degrades twice as fast
-[ ] The Quality of an item is never negative
-[ ] "Aged Brie" actually increases in Quality the older it gets
-[ ] The Quality of an item is never more than 50

View File

@ -17,11 +17,28 @@ public class GildedRoseTest {
//At the end of each day our system lowers both values for every item
@Test
public void shouldLowerBothValues(){
Item[] items = new Item[] { TestHelper.getItem("foobar", 1, 1) };
Item[] items = new Item[] { TestHelper.getItem("foobar", 2, 2) };
GildedRose app = new GildedRose(items);
app.updateQuality();
assertEquals(0, app.items[0].quality);
assertEquals(1, app.items[0].quality);
assertEquals(1, app.items[0].sellIn);
}
//Once the sell by date has passed (<=0), Quality degrades twice as fast
@Test
public void shouldDowngradeTwiceAsFastAfterSellDate(){
Item[] items = new Item[] { TestHelper.getItem("foobar", 1, 5) };
GildedRose app = new GildedRose(items);
//day 1, drop by 1
app.updateQuality();
assertEquals(4, app.items[0].quality);
assertEquals(0, app.items[0].sellIn);
//day 2, drop by 2
app.updateQuality();
assertEquals(2, app.items[0].quality);
assertEquals(-1, app.items[0].sellIn);
}
}