public void Should_IncreaseQualityByThree_When_LessThanFiveDaysRemaining() { // Arrange var sellIn = 4; var quality = 47; var testItem = new Item { Name = "TestItem", ItemTypeId = (int)ItemTypeEnum.BackStage, Quality = quality, SellIn = sellIn }; GildedRose.AddItem(testItem); // Act GildedRose.UpdateQuality(); // Assert testItem.Quality.ShouldBe(50); testItem.SellIn.ShouldBe(3); }
public void ShouldNot_ExceedQualityLimit() { // Arrange var sellIn = 4; var quality = 49; var testItem = new Item { Name = "TestItem", ItemTypeId = (int)ItemTypeEnum.BackStage, Quality = quality, SellIn = sellIn }; GildedRose.AddItem(testItem); // Act GildedRose.UpdateQuality(); // Assert testItem.Quality.ShouldBe(50); testItem.SellIn.ShouldBe(3); }
public void Should_SetQualityToZero_When_DateIsPassed() { // Arrange var sellIn = 0; var quality = 50; var testItem = new Item { Name = "TestItem", ItemTypeId = (int)ItemTypeEnum.BackStage, Quality = quality, SellIn = sellIn }; GildedRose.AddItem(testItem); // Act GildedRose.UpdateQuality(); // Assert testItem.Quality.ShouldBe(0); testItem.SellIn.ShouldBe(-1); }
public void Should_DegrateTwiceAsNormal() { // Arrange var sellIn = 0; var quality = 6; var testItem = new Item { Name = "TestItem", ItemTypeId = (int)ItemTypeEnum.Conjured, Quality = quality, SellIn = sellIn }; GildedRose.AddItem(testItem); // Act GildedRose.UpdateQuality(); // should substract quality by two GildedRose.UpdateQuality(); // here by 4 // Assert testItem.Quality.ShouldBe(0); testItem.SellIn.ShouldBe(-2); }
public void ShouldNot_UpdateItem() { // Arrange var sellIn = 20; var quality = 5; var testItem = new Item { Name = "TestItem", ItemTypeId = (int)ItemTypeEnum.Legendary, Quality = quality, SellIn = sellIn }; GildedRose.AddItem(testItem); // Act for (int i = 0; i < 31; i++) { GildedRose.UpdateQuality(); } // Assert testItem.Quality.ShouldBe(quality); testItem.SellIn.ShouldBe(sellIn); }
public void ShouldNot_AllowQualityGoBelowZero() { // Arrange var sellIn = 30; var quality = 1; var testItem = new Item { Name = "TestItem", ItemTypeId = (int)ItemTypeEnum.AgedGetsWorse, Quality = quality, SellIn = sellIn }; GildedRose.AddItem(testItem); // Act for (int i = 0; i < 31; i++) { GildedRose.UpdateQuality(); } // Assert testItem.Quality.ShouldBeGreaterThanOrEqualTo(0); testItem.SellIn.ShouldBe(-1); }
public void ShouldNot_ExceedQualityLimit() { // Arrange var sellIn = 20; var quality = 49; var testItem = new Item { Name = "TestItem", ItemTypeId = (int)ItemTypeEnum.AgedGetsBetter, Quality = quality, SellIn = sellIn }; GildedRose.AddItem(testItem); // Act for (int i = 0; i < sellIn; i++) { GildedRose.UpdateQuality(); } // Assert testItem.Quality.ShouldBeLessThanOrEqualTo(50); testItem.SellIn.ShouldBe(0); }