public void The_Quality_of_an_item_is_never_negative() { int numberOfDays = 50; IList <Item> items = new List <Item> { new Item { Name = "foo", SellIn = 1, Quality = 1 } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); Assert.IsTrue(items[0].Quality > -1); }
public void Sulfuras_never_decreases_in_Quality() { int initialQuality = 80; int numberOfDays = 50; IList <Item> items = new List <Item> { new Item { Name = Sulfuras, SellIn = 10, Quality = initialQuality } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); Assert.AreEqual(initialQuality, items[0].Quality); }
public void Sulfuras_never_has_to_be_sold() { int initialSellIn = 10; int numberOfDays = 50; IList <Item> items = new List <Item> { new Item { Name = Sulfuras, SellIn = initialSellIn, Quality = 80 } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); Assert.AreEqual(initialSellIn, items[0].SellIn); }
public void SellIn_reduce_over_time() { int initialSellIn = 5; int numberOfDays = 10; IList <Item> items = new List <Item> { new Item { Name = "foo", SellIn = initialSellIn, Quality = 10 } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); Assert.AreEqual(initialSellIn - numberOfDays, items[0].SellIn); }
public void Quality_degrades_by_2_before_sell_by_date() { int initialQuality = 10; int initialSellIn = 3; int numberOfDays = 2; IList <Item> items = new List <Item> { new Item { Name = Conjured, SellIn = initialSellIn, Quality = initialQuality } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); Assert.AreEqual(initialQuality - (numberOfDays * 2), items[0].Quality); }
public void Backstage_passes_Quality_drops_to_0_after_concert() { int initialQuality = 10; int initialSellIn = 1; int numberOfDays = 2; IList <Item> items = new List <Item> { new Item { Name = BackstagePasses, SellIn = initialSellIn, Quality = initialQuality } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); Assert.AreEqual(0, items[0].Quality); }
public void The_Quality_of_Backstage_passes_is_never_more_than_50() { int initialQuality = 49; int numberOfDays = 5; IList <Item> items = new List <Item> { new Item { Name = BackstagePasses, SellIn = 10, Quality = initialQuality } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); Assert.IsTrue(items[0].Quality > initialQuality); Assert.AreEqual(50, items[0].Quality); }
public void Backstage_passes_increases_in_Quality_as_its_SellIn_value_approaches() { int initialQuality = 10; int initialSellIn = 15; int numberOfDays = 2; IList <Item> items = new List <Item> { new Item { Name = BackstagePasses, SellIn = initialSellIn, Quality = initialQuality } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); Assert.AreEqual(initialQuality + numberOfDays, items[0].Quality); }
public void Once_sell_by_date_has_passed_Quality_increases_twice_as_fast() { int initialQuality = 1; int initialSellIn = -1; int numberOfDays = 1; IList <Item> items = new List <Item> { new Item { Name = AgedBrie, SellIn = initialSellIn, Quality = initialQuality } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); Assert.AreEqual(3, items[0].Quality); }
public void The_Quality_of_Aged_Brie_is_never_more_than_50() { int initialQuality = 1; int numberOfDays = 50; IList <Item> items = new List <Item> { new Item { Name = AgedBrie, SellIn = 10, Quality = initialQuality } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); Assert.IsTrue(items[0].Quality > initialQuality); Assert.AreEqual(50, items[0].Quality); }
public void Aged_Brie_increases_in_Quality_the_older_it_gets() { int initialQuality = 1; int numberOfDays = 4; IList <Item> items = new List <Item> { new Item { Name = AgedBrie, SellIn = 10, Quality = initialQuality } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); Assert.IsTrue(items[0].Quality > initialQuality); Assert.AreEqual(initialQuality + numberOfDays, items[0].Quality); }
public void Backstage_passes_increases_in_Quality_by_3_when_SellIn_between_0_and_5() { int initialQuality = 10; int initialSellIn = 3; int numberOfDays = 2; IList <Item> items = new List <Item> { new Item { Name = BackstagePasses, SellIn = initialSellIn, Quality = initialQuality } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); var qualityIncrease = initialQuality + (numberOfDays * 3); Assert.AreEqual(qualityIncrease, items[0].Quality); }
public void Once_sell_by_date_has_passed_Quality_degrades_twice_as_fast() { int initialQuality = 10; int initialSellIn = 1; int numberOfDays = 4; IList <Item> items = new List <Item> { new Item { Name = "foo", SellIn = initialSellIn, Quality = initialQuality } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); var normalRateQualityDecrease = initialSellIn; var doubleRateQualityDecrease = (numberOfDays - initialSellIn) * 2; Assert.AreEqual(initialQuality - (normalRateQualityDecrease + doubleRateQualityDecrease), items[0].Quality); }