public void QualityAlwaysGreaterThan0(string itemName, int nothing) { var gildedRose = new GildedRose(TestData.GetItemByNameList(itemName)); for (int i = 0; i < 50; i++) { gildedRose.UpdateQuality(); } Assert.IsTrue(gildedRose.GetItems() != null && gildedRose.GetItems().Count == 1); Assert.IsTrue(gildedRose.GetItems().First().Quality >= 0); }
public void UpdateQuality_ForGeneralItem_ContainsTheCorrectItem() { var itemName = "foo"; var gildedRose = new GildedRose(new List <Item> { new Item(itemName, 0, 0) }); gildedRose.UpdateQuality(); gildedRose.GetItems().Should().HaveCount(1); gildedRose.GetItems().Single().Name.Should().Be(itemName); }
public void DecreaseQualityByDecrement_Sulfuras(string itemName, int decrement) { var gildedRose = new GildedRose(TestData.GetItemByNameList(itemName)); gildedRose.UpdateQuality(); Assert.IsTrue(gildedRose.GetItems() != null && gildedRose.GetItems().Count == 1); Assert.AreEqual(TestData.GetItemByName(itemName).Quality - decrement, gildedRose.GetItems().First().Quality); Assert.AreEqual(TestData.GetItemByName(itemName).SellIn, gildedRose.GetItems().First().SellIn); }
public void UpdateQuality_ForGeneralItem_QualityNeverBecomesNegative() { var gildedRose = new GildedRose(new List <Item> { new Item("foo", 10, 0) }); gildedRose.UpdateQuality(); gildedRose.GetItems().Single().Quality.Should().Be(0); }
public void UpdateQuality_ForAgedBrie_QualityCannotIncreaseAboveFifty() { var gildedRose = new GildedRose(new List <Item> { new Item("Aged Brie", 10, 50) }); gildedRose.UpdateQuality(); gildedRose.GetItems().Single().Quality.Should().Be(50); }
public void UpdateQuality_ForAgedBrieWhenExpired_IncreasesQualityByTwo() { var initialQuality = 10; var gildedRose = new GildedRose(new List <Item> { new Item("Aged Brie", 0, initialQuality) }); gildedRose.UpdateQuality(); gildedRose.GetItems().Single().Quality.Should().Be(initialQuality + 2); }
public void UpdateQuality_ForGeneralItemWhenExpired_DecreasesQualityByTwo() { var initialQuality = 10; var gildedRose = new GildedRose(new List <Item> { new Item("foo", 0, initialQuality) }); gildedRose.UpdateQuality(); gildedRose.GetItems().Single().Quality.Should().Be(initialQuality - 2); }
public void UpdateQuality_ForGeneralItem_DecreasesSellInByOne() { var initialSellIn = 10; var gildedRose = new GildedRose(new List <Item> { new Item("foo", initialSellIn, 0) }); gildedRose.UpdateQuality(); gildedRose.GetItems().Single().SellIn.Should().Be(initialSellIn - 1); }
public void UpdateQuality_ForBackstagePassesWhenExpired_SetQualityToZero() { var initialQuality = 10; var gildedRose = new GildedRose(new List <Item> { new Item("Backstage passes to a TAFKAL80ETC concert", 0, initialQuality) }); gildedRose.UpdateQuality(); gildedRose.GetItems().Single().Quality.Should().Be(0); }
public void UpdateQuality_ForBackstagePassesWhenLessThanSixDaysLeft_IncreasesQualityByThree() { var initialQuality = 10; var gildedRose = new GildedRose(new List <Item> { new Item("Backstage passes to a TAFKAL80ETC concert", 5, initialQuality) }); gildedRose.UpdateQuality(); gildedRose.GetItems().Single().Quality.Should().Be(initialQuality + 3); }
public void UpdateQuality_ForLegendaryItem_DoesNotChangeInQuality() { var initialQuality = 10; var gildedRose = new GildedRose(new List <Item> { new Item("Sulfuras, Hand of Ragnaros", 10, initialQuality) }); gildedRose.UpdateQuality(); gildedRose.GetItems().Single().Quality.Should().Be(initialQuality); }
public void UpdateQuality_ForLegendaryItem_DoesNotExpire() { var initialSellIn = 10; var gildedRose = new GildedRose(new List <Item> { new Item("Sulfuras, Hand of Ragnaros", initialSellIn, 10) }); gildedRose.UpdateQuality(); gildedRose.GetItems().Single().SellIn.Should().Be(initialSellIn); }