public void Legendary_Item_Should_Not_Decrease_Quality() { // Arrange var days = 10; IList <ItemCollaborator> items = new List <ItemCollaborator> { new ItemCollaborator { Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80 }, new ItemCollaborator { Name = "Sulfuras, Hand of Ragnaros", SellIn = -1, Quality = 80 } }; GlidedRose target = CreateGlidedRose(items); // Act for (int i = 0; i < days; i++) { target.UpdateQuality(); } // Assert Assert.Equal("Sulfuras, Hand of Ragnaros", items[0].Name); Assert.Equal("Sulfuras, Hand of Ragnaros", items[1].Name); Assert.Equal(80, items[0].Quality); Assert.Equal(80, items[1].Quality); }
public void Normal_Item_Should_Decrease_Quality_By_Two_When_SellingDate_Passed() { // Arrange var days = 8; IList <ItemCollaborator> items = new List <ItemCollaborator> { new NormalItem { Name = "+5 Dexterity Vest", SellIn = 5, Quality = 20 } }; GlidedRose target = CreateGlidedRose(items); // Act for (int i = 0; i < days; i++) { target.UpdateQuality(); } // Assert Assert.Equal("+5 Dexterity Vest", items[0].Name); //Only passed 8 days but 3 passed selling date, => 20 -5 -(3*2) = 9 Assert.Equal(9, items[0].Quality); }
public void BackstagePasses_Should_Have_Zero_Quality_When_SellIn_Passed() { // Arrange var days = 5; IList <ItemCollaborator> items = new List <ItemCollaborator> { new ItemCollaborator { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 4, Quality = 100 }, }; GlidedRose target = CreateGlidedRose(items); // Act for (int i = 0; i < days; i++) { target.UpdateQuality(); } // Assert Assert.Equal("Backstage passes to a TAFKAL80ETC concert", items[0].Name); Assert.Equal(0, items[0].Quality); }
public void BackstagePasses_Should_Increase_Quality_By_Three_When_SellIn_Below_Five_Days() { // Arrange var days = 5; IList <ItemCollaborator> items = new List <ItemCollaborator> { new ItemCollaborator { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 30, Quality = 20 }, }; GlidedRose target = CreateGlidedRose(items); // Act for (int i = 0; i < days; i++) { target.UpdateQuality(); } // Assert Assert.Equal("Backstage passes to a TAFKAL80ETC concert", items[0].Name); Assert.Equal(25, items[0].Quality); }
public void Normal_Item_Should_Decrease_Quality_Up_To_Zero(int days) { // Arrange IList <ItemCollaborator> items = new List <ItemCollaborator> { new NormalItem { Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20 } }; GlidedRose target = CreateGlidedRose(items); // Act for (int i = 0; i < days; i++) { target.UpdateQuality(); } // Assert Assert.Equal("+5 Dexterity Vest", items[0].Name); Assert.Equal(0, items[0].Quality); }
public void AgedBrie_Should_Increase_Quality_Up_To_Fifty() { // Arrange var days = 70; IList <ItemCollaborator> items = new List <ItemCollaborator> { new ItemCollaborator { Name = "Aged Brie", SellIn = 2, Quality = 0 }, }; GlidedRose target = CreateGlidedRose(items); // Act for (int i = 0; i < days; i++) { target.UpdateQuality(); } // Assert Assert.Equal("Aged Brie", items[0].Name); Assert.Equal(50, items[0].Quality); }