public void ItemQualityCannotDecreaseBelowMinValue() { var normalItem = new NormalItem { SellIn = 10, Quality = 0 }; ManageInventory.ProcessItem(normalItem); Assert.AreEqual(normalItem.MinQuality, normalItem.Quality); }
public void ItemQualityCannotExceedMaxValue() { var normalItem = new NormalItem { SellIn = 10, Quality = 100 }; ManageInventory.ProcessItem(normalItem); Assert.AreEqual(normalItem.MaxQuality, normalItem.Quality); }
public void CheeseItemQualityCannotExceedMaxQuality() { var cheeseItem = new CheeseItem { Name = "AgedBrie", SellIn = 10, Quality = 50 }; ManageInventory.ProcessItem(cheeseItem); Assert.AreEqual(cheeseItem.MaxQuality, cheeseItem.Quality); }
public void TicketItemQualityDecreasesToZeroWhenSellInIsZero() { var ticketItem = new TicketItem { Name = "BackstagePass", SellIn = 0, Quality = 10 }; ManageInventory.ProcessItem(ticketItem); Assert.AreEqual(0, ticketItem.Quality); }
public void SellInValueLessThanZeroNormalItemQualityDegradesTwiceAsFast() { var normalItem = new NormalItem { SellIn = -1, Quality = 10 }; var oldQuality = normalItem.Quality; ManageInventory.ProcessItem(normalItem); Assert.AreEqual(oldQuality - 2, normalItem.Quality); }
public void NormalItemQualityDecreasesByOne() { var normalItem = new NormalItem { SellIn = 10, Quality = 10 }; var oldQuality = normalItem.Quality; ManageInventory.ProcessItem(normalItem); Assert.AreEqual(oldQuality - 1, normalItem.Quality); }
public void ConjuredItemQualityDecreasesByTwo() { var conjuredItem = new ConjuredItem { SellIn = 10, Quality = 10 }; var oldQuality = conjuredItem.Quality; ManageInventory.ProcessItem(conjuredItem); Assert.AreEqual(oldQuality - 2, conjuredItem.Quality); }
public void SellInValueLessThanZeroConjuredItemQualityDegradesTwiceAsFast() { var conjuredItem = new ConjuredItem { SellIn = -1, Quality = 10 }; var oldQuality = conjuredItem.Quality; ManageInventory.ProcessItem(conjuredItem); Assert.AreEqual(oldQuality - 4, conjuredItem.Quality); }
public void CheeseItemQualityIncreasesAsSellInDecreases() { var cheeseItem = new CheeseItem { Name = "AgedBrie", SellIn = 10, Quality = 10 }; var oldQuality = cheeseItem.Quality; ManageInventory.ProcessItem(cheeseItem); Assert.AreEqual(oldQuality + 1, cheeseItem.Quality); }
public void LegendaryItemsQualityDoesNotDegrade() { var legendaryItem = new LegendaryItem { Name = "Sulfuras", SellIn = 10, Quality = 10 }; var oldQuality = legendaryItem.Quality; ManageInventory.ProcessItem(legendaryItem); Assert.AreEqual(oldQuality, legendaryItem.Quality); }
public void LegendaryItemsSellInDoesNotDecrease() { var legendaryItem = new LegendaryItem { Name = "Sulfuras", SellIn = 10, Quality = 10 }; var oldSellIn = legendaryItem.SellIn; ManageInventory.ProcessItem(legendaryItem); Assert.AreEqual(oldSellIn, legendaryItem.SellIn); }
public void TicketItemQualityIncreasesByOneWhenSellInDecreasesAndIsAboveTen() { var ticketItem = new TicketItem { Name = "BackstagePass", SellIn = 20, Quality = 10 }; var oldQuality = ticketItem.Quality; ManageInventory.ProcessItem(ticketItem); Assert.AreEqual(oldQuality + 1, ticketItem.Quality); }
public void TicketItemQualityIncreasesByThreeWhenSellInIsFiveDaysOrLess() { var ticketItem = new TicketItem { Name = "BackstagePass", SellIn = 5, Quality = 10 }; var oldQuality = ticketItem.Quality; ManageInventory.ProcessItem(ticketItem); Assert.AreEqual(oldQuality + 3, ticketItem.Quality); }
public void InvalidItemIsInvalidatedWhenProcessed() { var invalidItem = new InvalidItem { SellIn = 10, Quality = 10 }; Assert.IsTrue(invalidItem.IsValid); ManageInventory.ProcessItem(invalidItem); Assert.IsFalse(invalidItem.IsValid); Assert.AreEqual(0, invalidItem.SellIn); Assert.AreEqual(0, invalidItem.Quality); }