public void GivenItemConjuredHandler_WhenItemIsNotConjured_ShouldThrowError() { // Arrange var item = new Item() { Name = AgedBrie, Quality = 22, SellIn = -3 }; // Act var actual = new ConjuredItemHandler(null); // Assert Assert.Throws <InvalidOperationException>(() => actual.Handle(item), "Item cannot be handled here"); }
public void GivenConjuredItemHandler_WhenNextDayComes_QualityLessThan4_SellInEquals0_ThenQualityShouldBe0() { // Arrange var item = new Item() { Name = Conjured, Quality = 3, SellIn = 0 }; // Act var actual = new ConjuredItemHandler(null); actual.Handle(item); // Assert Assert.AreEqual(0, item.Quality); }
public void GivenConjuredItemHandler_WhenNextDayComes_QualityHigherThan4_SellInLessThan0_ThenQualityShouldBeDecreasedByFour() { // Arrange var item = new Item() { Name = Conjured, Quality = 8, SellIn = -1 }; // Act var actual = new ConjuredItemHandler(null); actual.Handle(item); // Assert Assert.AreEqual(4, item.Quality); }
public void GivenConjuredItemHandler_WhenNextDayComes_QualityHigherThan2_SellInHigherThan0_ThenQualityShouldDecreaseByTwo() { // Arrange var item = new Item() { Name = Conjured, Quality = 10, SellIn = 1 }; // Act var actual = new ConjuredItemHandler(null); actual.Handle(item); // Assert Assert.AreEqual(8, item.Quality); }