public async Task UpdateNormalItemTest_UpdateNormalItem_QualityDecreaseByOne(int sellIn, int quality) { var item = new ItemForSell { SellIn = sellIn, Quality = quality, Type = ItemForSellType.Normal }; await _inventoryUpdater.Update(item); var expQuality = Math.Max(quality - 1, 0); var expSellIn = Math.Max(sellIn - 1, 0); Assert.Equal(expQuality, item.Quality); Assert.Equal(expSellIn, item.SellIn); }
static void Main(string[] args) { Console.WriteLine("OMGHAI!"); Items = new List <Item> { new Item { Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20 }, new AgedBrie { Name = "Aged Brie", SellIn = 2, Quality = 0 }, new Item { Name = "Elixir of the Mongoose", SellIn = 5, Quality = 7 }, new LegendaryItem { Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80 }, new BackstagePass { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 15, Quality = 20 }, new ConjuredItem { Name = "Conjured Mana Cake", SellIn = 3, Quality = 6 } }; var updater = new InventoryUpdater(Items); updater.Update(); Console.ReadKey(); }
private void ProcessMany(Int32 numberToProcess) { for (var i = 0; i < numberToProcess; i++) { updater.Update(); } }
public void UpdateQuality() { foreach (var item in Items) { InventoryUpdater.Update(item); } }
public void AgedBrieIncreaseInQualityBy2AfterSellDate() { var item = CreateAgedBrie(sellIn: 0, quality: 0); InventoryUpdater.Update(item); Assert.Equal(2, item.Quality); Assert.Equal(-1, item.SellIn); }
public void AgedBrieIncreaseInQualityWhenOlder() { var item = CreateAgedBrie(sellIn: 1, quality: 0); InventoryUpdater.Update(item); Assert.Equal(1, item.Quality); Assert.Equal(0, item.SellIn); }
public void SulFurasNeverDecreasesInQuality() { var item = CreateSulfurasItem(); InventoryUpdater.Update(item); Assert.Equal(80, item.Quality); Assert.Equal(0, item.SellIn); }
public void BackstagePassesQualityIncreaseTest(int sellIn, int quality, int expectedSellIn, int expectedQuality) { var item = CreateBackstagePass(sellIn: sellIn, quality: quality); InventoryUpdater.Update(item); Assert.Equal(expectedQuality, item.Quality); Assert.Equal(expectedSellIn, item.SellIn); }
public void QualityOfItemNeverRaisedAbove50() { var item = CreateAgedBrie(quality: 50, sellIn: 2); InventoryUpdater.Update(item); Assert.Equal(50, item.Quality); Assert.Equal(1, item.SellIn); }
public void QualityDegradsTwiceAsFastOnceSellByHasPassed() { var item = new Item { SellIn = 0, Quality = 4 }; InventoryUpdater.Update(item); Assert.Equal(-1, item.SellIn); Assert.Equal(2, item.Quality); }
public void QuantityNeverNegative() { var item = new Item { SellIn = 0, Quality = 0 }; InventoryUpdater.Update(item); Assert.Equal(-1, item.SellIn); Assert.Equal(0, item.Quality); }
public void SellInForNormalItemDecreasesByOne() { var cake = new Item { Name = "Conjured Mana Cake", SellIn = 0, Quality = 0 }; updater = new InventoryUpdater(new[] { cake }); updater.Update(); Assert.AreEqual(-1, cake.SellIn); }
public void ConjuredItemsDegradeTwiceAsFastAsNormalItems() { var item = new Item { Name = "Conjured", SellIn = 1, Quality = 2 }; InventoryUpdater.Update(item); Assert.Equal(0, item.Quality); Assert.Equal(0, item.SellIn); }
public void QualityDegradesTwiceAsFastForNormalItem() { var cake = new Item { Name = "Conjured Mana Cake", SellIn = -1, Quality = 2 }; updater = new InventoryUpdater(new[] { cake }); updater.Update(); Assert.AreEqual(0, cake.Quality); }
public void QualityOfAConjuredItemIsNeverNegative() { var cake = new ConjuredItem { Name = "Conjured Mana Cake", SellIn = -1, Quality = 0 }; updater = new InventoryUpdater(new[] { cake }); updater.Update(); Assert.AreEqual(0, cake.Quality); }
public void SellInAndQualityIsLoweredEachDay() { var item = new Item { Quality = 1, SellIn = 1 }; InventoryUpdater.Update(item); Assert.Equal(0, item.SellIn); Assert.Equal(0, item.Quality); }
public void QualityOfAnItemIsNeverGreaterThanFifty() { var brie = new AgedBrie { Name = "Aged Brie", SellIn = 0, Quality = 50 }; updater = new InventoryUpdater(new[] { brie }); updater.Update(); Assert.AreEqual(50, brie.Quality); }
static void Main(string[] args) { Console.WriteLine("OMGHAI!"); Items = new List<Item> { new Item { Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20 }, new AgedBrie { Name = "Aged Brie", SellIn = 2, Quality = 0 }, new Item { Name = "Elixir of the Mongoose", SellIn = 5, Quality = 7 }, new LegendaryItem { Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80 }, new BackstagePass { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 15, Quality = 20 }, new ConjuredItem { Name = "Conjured Mana Cake", SellIn = 3, Quality = 6 } }; var updater = new InventoryUpdater(Items); updater.Update(); Console.ReadKey(); }