public void QualityShouldNeverBeOver50(int quality) { // Arrange InventoryItem systemUnderTest = new FreshItem(1, quality); // Act systemUnderTest.MatureOvernight(); // Assert systemUnderTest.Quality.ShouldBe(50); }
public void SellInShouldNotChangeAtMinValue() { // Arrange InventoryItem systemUnderTest = new FreshItem(int.MinValue, 1); // Act systemUnderTest.MatureOvernight(); // Assert systemUnderTest.SellIn.ShouldBe(int.MinValue); }
public void ShouldDecreaseQualityBy2BeforeSellby(int sellIn, int quality) { // Arrange InventoryItem systemUnderTest = new FreshItem(sellIn, quality); // Act systemUnderTest.MatureOvernight(); // Assert systemUnderTest.SellIn.ShouldBe(sellIn - 1); systemUnderTest.Quality.ShouldBe(quality - 2); }
public void ShouldDecreaseQualityAtDoubleSpeedAtNegative(int positiveSellIn) { // Arrange InventoryItem systemUnderTestPositive = new FreshItem(positiveSellIn, 10); InventoryItem systemUnderTestNegative = new FreshItem(-positiveSellIn, 10); // Act systemUnderTestPositive.MatureOvernight(); systemUnderTestNegative.MatureOvernight(); // Assert int PositiveDecrease = 10 - systemUnderTestPositive.Quality; int NegativeDecrease = 10 - systemUnderTestNegative.Quality; NegativeDecrease.ShouldBe(PositiveDecrease * 2); }