public static void Main(string[] args) { Console.Write("OMGHAI!\n"); IList <Item> Items = new List <Item> { new Item { Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20 }, new Item { Name = "Aged Brie", SellIn = 2, Quality = 0 }, new Item { Name = "Elixir of the Mongoose", SellIn = 5, Quality = 7 }, new Item { Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80 }, new Item { Name = "Sulfuras, Hand of Ragnaros", SellIn = -1, Quality = 80 }, new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 15, Quality = 20 }, new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 10, Quality = 49 }, new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 5, Quality = 49 }, new Item { Name = "Conjured Mana Cake", SellIn = 3, Quality = 6 } }; var app = new GildedRose(Items); for (var i = 0; i < 31; i++) { Console.Write("-------- day " + i + " --------\n"); Console.Write("name, sellIn, quality\n"); foreach (var item in app.Items) { System.Console.Write(item + "\n"); } Console.Write("\n"); app.UpdateStock(); } Console.ReadLine(); }
public void QualityOf_AgedBrie_IncreasesBy2_WhileSellInIsNonpositive() { IList <Item> Items = new List <Item> { new Item { Name = "Aged Brie", SellIn = 0, Quality = 10 } }; GildedRose app = new GildedRose(Items); for (var daysPassed = 1; daysPassed <= 3; daysPassed++) { app.UpdateStock(); Assert.AreEqual(10 + 2 * daysPassed, Items[0].Quality); } }
public void QualityOf_ConjuredItems_DecreasesBy4_WhileSellInIsNonPositive() { IList <Item> Items = new List <Item> { new Item { Name = "Conjured Mana Cake", SellIn = 0, Quality = 20 } }; GildedRose app = new GildedRose(Items); for (var daysPassed = 1; daysPassed <= 3; daysPassed++) { app.UpdateStock(); Assert.AreEqual(20 - 4 * daysPassed, Items[0].Quality); } }
public void QualityOf_NormalItems_DecreasesBy2_WhileSellInIsNonPositive() { IList <Item> Items = new List <Item> { new Item { Name = "Test Vest", SellIn = 0, Quality = 10 } }; GildedRose app = new GildedRose(Items); for (var daysPassed = 1; daysPassed <= 3; daysPassed++) { app.UpdateStock(); Assert.AreEqual(10 - 2 * daysPassed, Items[0].Quality); } }
public void QualityOf_BackstagePasses_IncreasesBy3_WhileSellInLessOrEqual5() { IList <Item> Items = new List <Item> { new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 5, Quality = 3 } }; GildedRose app = new GildedRose(Items); for (var daysPassed = 1; daysPassed <= 3; daysPassed++) { app.UpdateStock(); Assert.AreEqual(3 + 3 * daysPassed, Items[0].Quality); } }
public void SellInOf_NonLegendaryItems_DecreasesBy1(string name) { IList <Item> Items = new List <Item> { new Item { Name = name, SellIn = 3, Quality = 3 }, }; GildedRose app = new GildedRose(Items); for (var daysPassed = 1; daysPassed <= 5; daysPassed++) { app.UpdateStock(); Assert.AreEqual(3 - daysPassed, Items[0].SellIn); } }
public void QualityOf_NormalItems_DoesntGoNegative() { IList <Item> Items = new List <Item> { new Item { Name = "Test Vest", SellIn = 2, Quality = 1 } }; GildedRose app = new GildedRose(Items); for (var daysPassed = 1; daysPassed <= 3; daysPassed++) { app.UpdateStock(); Assert.AreEqual(0, Items[0].Quality); } }
public void QualityOf_BackstagePasses_ZerosAfterSellDate() { IList <Item> Items = new List <Item> { new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 0, Quality = 15 }, }; GildedRose app = new GildedRose(Items); for (var daysPassed = 1; daysPassed <= 3; daysPassed++) { app.UpdateStock(); Assert.AreEqual(0, Items[0].Quality); } }
public static void Main(string[] args) { var app = new GildedRose(); for (var i = 0; i < 31; i++) { Console.WriteLine("-------- day " + i + " --------"); Console.WriteLine("name, sellIn, quality"); var gildedRoseItems = app.Items; foreach (var item in gildedRoseItems) { System.Console.WriteLine(item); } Console.WriteLine(""); app.UpdateStock(); } }
public void QualityOf_Sulfuras_NeverDecreases() { IList <Item> Items = new List <Item> { new Item { Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80 } }; GildedRose app = new GildedRose(Items); for (var daysPassed = 1; daysPassed <= 3; daysPassed++) { app.UpdateStock(); Assert.AreEqual(80, Items[0].Quality); Assert.AreEqual(80, Items[0].Quality); Assert.AreEqual(80, Items[0].Quality); } }
public void QualityOf_AgedBrie_DoesntGoAbove50() { IList <Item> Items = new List <Item> { new Item { Name = "Aged Brie", SellIn = 3, Quality = 49 }, new Item { Name = "Aged Brie", SellIn = 0, Quality = 49 } }; GildedRose app = new GildedRose(Items); for (var daysPassed = 1; daysPassed <= 3; daysPassed++) { app.UpdateStock(); Assert.AreEqual(50, Items[0].Quality); Assert.AreEqual(50, Items[1].Quality); } }
public void QualityOf_BackstagePasses_DoesntGoAbove50() { IList <Item> Items = new List <Item> { new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 15, Quality = 49 }, new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 9, Quality = 49 }, new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 4, Quality = 49 } }; GildedRose app = new GildedRose(Items); for (var daysPassed = 1; daysPassed <= 3; daysPassed++) { app.UpdateStock(); Assert.AreEqual(50, Items[0].Quality); Assert.AreEqual(50, Items[1].Quality); } }