public void BackStage_Passes_Increment_When_SellIn_Is_Lower_10(int sellIn, int quality, int qualityIncrement, string description) { IList <Item> items = new List <Item> { new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = sellIn, Quality = quality } }; csharp.GildedRose app = new csharp.GildedRose(new ItemGroup(items, CreateDefaultRules.CreateWithConjuredRule())); Enumerable.Range(1, 4).Reverse().ToList().ForEach(i => { app.UpdateQuality(); quality += qualityIncrement; Assert.AreEqual(quality, (int)items[0].Quality); }); }
public void SellIn_Decreases_Over_Time() { var sellIn = 3; IList <Item> items = new List <Item> { new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = sellIn, Quality = 50 } }; var app = new csharp.GildedRose(new ItemGroup(items, CreateDefaultRules.CreateWithConjuredRule())); Enumerable.Range(1, sellIn).ToList().ForEach(i => { app.UpdateQuality(); Assert.AreEqual(--sellIn, items[0].SellIn); }); }
public void AgedBrie_Quality_Increases_Over_Time() { const int sellIn = 8; IList <Item> items = new List <Item> { new Item { Name = "Aged Brie", SellIn = sellIn, Quality = 0 } }; csharp.GildedRose app = new csharp.GildedRose(new ItemGroup(items, CreateDefaultRules.CreateWithConjuredRule())); Enumerable.Range(1, sellIn).ToList().ForEach(i => { app.UpdateQuality(); Assert.AreEqual(i, (int)items[0].Quality); } ); }
public void Test_Special_Quality_Descrease( Func <int, csharp.Quality> requiredQuality, Item item, string testDescription) { Console.WriteLine(testDescription); var app = new csharp.GildedRose( new ItemGroup(new List <Item> { item }, CreateDefaultRules.CreateWithConjuredRule())); var actQuality = new csharp.Quality(item.Quality); Enumerable.Range(1, item.SellIn).ToList().ForEach(i => { app.UpdateQuality(); actQuality = requiredQuality(actQuality); Assert.AreEqual(actQuality, (int)item.Quality); }); }