using Microsoft.VisualStudio.TestTools.UnitTesting; using csharp; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace csharp.Tests { [TestClass()] public class GildedRoseTests { [TestMethod()] public void DefaultTest() // Test that came with app { IList Items = new List { new Item { Name = "Aged Brie", SellIn = 0, Quality = 0 } }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.AreEqual("Aged Brie", Items[0].Name); } [TestMethod()] public void UpdateQualityTestForAgedBrie_SellDateIsLessThan10ButGreaterThan5_IncreaseQualityByTwo() { IList Items = new List { new Item { Name = "Aged Brie", SellIn = 10, Quality = 0 } }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.AreEqual(2, Items[0].Quality); } [TestMethod()] public void UpdateQualityTestForAgedBrie_SellDateIsLessThan5_IncreaseQualityByThree() { IList Items = new List { new Item { Name = "Aged Brie", SellIn = 5, Quality = 0 } }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.AreEqual(3, Items[0].Quality); } [TestMethod()] public void UpdateQualityTestForAgedBrie_AfterConcert_DropToZero() { IList Items = new List { new Item { Name = "Aged Brie", SellIn = 0, Quality = 10 } }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.AreEqual(0, Items[0].Quality); } [TestMethod()] public void UpdateQualityTest_SellDatePassed_DecreaseQualityTwice() { IList Items = new List { new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 0, Quality = 2 } }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.AreEqual(0, Items[0].Quality); } [TestMethod()] public void UpdateQualityTest_QualityOfItemIsNeverNegative_MinimumValue0() { IList Items = new List { new Item { Name = "+5 Dexterity Vest", SellIn = 0, Quality = 0 } }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.AreEqual(0, Items[0].Quality); } [TestMethod()] public void UpdateQualityTest_QualityOfItemNeverAboveDefinedValue_MaximumValue50() { IList Items = new List { new Item { Name = "Aged Brie", SellIn = 1, Quality = 49 } }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.AreEqual(50, Items[0].Quality); } [TestMethod()] public void UpdateQualityTest_LegendaryItems_NeverAltar() { IList Items = new List { new Item { Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80 } }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.AreEqual(80, Items[0].Quality); } [TestMethod()] public void UpdateQualityTest_LegendaryItems_MaximumValue80() { IList Items = new List { new Item { Name = "Sulfuras, Hand of Ragnaros", SellIn = 1, Quality = 80 } }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.AreEqual(80, Items[0].Quality); } [TestMethod()] public void UpdateQualityTest_ReduceSellIn_By1Daily() { IList Items = new List { new Item { Name = "Aged Brie", SellIn = 1, Quality = 30 } }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.AreEqual(0, Items[0].SellIn); } } }