public static void Main(string[] args) { Console.WriteLine("OMGHAI!"); IList <UpdatableItem> Items = new List <UpdatableItem> { UpdatableItemFactory.CreateItem(ItemType.STANDARD, "+5 Dexterity Vest", 10, 20), UpdatableItemFactory.CreateItem(ItemType.AGED, "Aged Brie", 2, 0), UpdatableItemFactory.CreateItem(ItemType.STANDARD, "Elixir of the Mongoose", 5, 7), UpdatableItemFactory.CreateItem(ItemType.LEGENDARY, "Sulfuras, Hand of Ragnaros", 0, 80), UpdatableItemFactory.CreateItem(ItemType.LEGENDARY, "Sulfuras, Hand of Ragnaros", -1, 80), UpdatableItemFactory.CreateItem(ItemType.BACKSTAGE, "Backstage passes to a TAFKAL80ETC concert", 15, 20), UpdatableItemFactory.CreateItem(ItemType.BACKSTAGE, "Backstage passes to a TAFKAL80ETC concert", 10, 49), UpdatableItemFactory.CreateItem(ItemType.BACKSTAGE, "Backstage passes to a TAFKAL80ETC concert", 5, 49), UpdatableItemFactory.CreateItem(ItemType.CONJURED, "Conjured Mana Cake", 3, 6) }; var app = new GildedRose(Items); for (var i = 0; i < 31; i++) { Console.WriteLine("-------- day " + i + " --------"); Console.WriteLine("name, sellIn, quality"); foreach (UpdatableItem item in Items) { System.Console.WriteLine(item); } Console.WriteLine(""); app.UpdateQuality(); } }
public void QualityOfAnItemIsNeverMoreThan50() { IList <UpdatableItem> Items = new List <UpdatableItem> { UpdatableItemFactory.CreateItem(ItemType.AGED, "Aged Brie", 0, 50) }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.Equal(50, Items[0].Quality()); }
public void AgedBrieIncreasesQualityTwiceAsFastWhenSellByDateHasPassed() { IList <UpdatableItem> Items = new List <UpdatableItem> { UpdatableItemFactory.CreateItem(ItemType.AGED, "Aged Brie", 0, 0) }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.Equal(2, Items[0].Quality()); }
public void SellInDegradesByOneAfterOneDay() { IList <UpdatableItem> Items = new List <UpdatableItem> { UpdatableItemFactory.CreateItem(ItemType.STANDARD, "foo", 1, 10) }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.Equal(0, Items[0].SellIn()); }
public void QualityOfAnItemIsNeverNegative() { IList <UpdatableItem> Items = new List <UpdatableItem> { UpdatableItemFactory.CreateItem(ItemType.STANDARD, "foo", 0, 0) }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.Equal(0, Items[0].Quality()); }
public void AgedBrieIncreasesQualityTheOlderItGets() { IList <UpdatableItem> Items = new List <UpdatableItem> { UpdatableItemFactory.CreateItem(ItemType.AGED, "Aged Brie", 1, 0) }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.Equal(1, Items[0].Quality()); }
public void QualityDegradesTwiceAsFastWhenSellByDateHasPassed() { IList <UpdatableItem> Items = new List <UpdatableItem> { UpdatableItemFactory.CreateItem(ItemType.STANDARD, "foo", 0, 10) }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.Equal(8, Items[0].Quality()); }
public void BackstageQualityDropsToZeroAfterTheConcert() { IList <UpdatableItem> Items = new List <UpdatableItem> { UpdatableItemFactory.CreateItem(ItemType.BACKSTAGE, "Backstage passes to a TAFKAL80ETC concert", 0, 50) }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.Equal(0, Items[0].Quality()); }
public void BackstageIncreasesQualityByThreeIfItHasToBeSoldInFiveDaysOrLess() { IList <UpdatableItem> Items = new List <UpdatableItem> { UpdatableItemFactory.CreateItem(ItemType.BACKSTAGE, "Backstage passes to a TAFKAL80ETC concert", 5, 0) }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.Equal(3, Items[0].Quality()); }
public void BackstageIncreasesQualityByOneIfMoreThanTenDaysRemaining() { IList <UpdatableItem> Items = new List <UpdatableItem> { UpdatableItemFactory.CreateItem(ItemType.BACKSTAGE, "Backstage passes to a TAFKAL80ETC concert", 11, 0) }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.Equal(1, Items[0].Quality()); }
public void SulfurasQualityAndSellInValuesAreNotAltered() { IList <UpdatableItem> Items = new List <UpdatableItem> { UpdatableItemFactory.CreateItem(ItemType.LEGENDARY, "Sulfuras, Hand of Ragnaros", 0, 80) }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.Equal(80, Items[0].Quality()); Assert.Equal(0, Items[0].SellIn()); }
public void ConjuredItemDecreaseQualityTwiceAsFastAsNormalItems() { IList <UpdatableItem> Items = new List <UpdatableItem> { UpdatableItemFactory.CreateItem(ItemType.CONJURED, "Conjured item", 1, 50), UpdatableItemFactory.CreateItem(ItemType.CONJURED, "Conjured item", 0, 50) }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.Equal(48, Items[0].Quality()); Assert.Equal(46, Items[1].Quality()); }