public static void Main(string[] args) { System.Console.WriteLine("OMGHAI!"); var app = new GildedRose(new GildedRoseWebService()); for (var i = 0; i < 31; i++) { System.Console.WriteLine("-------- day " + i + " --------"); app.PrintReport(); app.UpdateQuality(); } }
public void AgeOurStandardInventoryForSeveralMonthsAndVerifyEachDaysResults() { var testSubject = new GildedRose(); var log = new StringBuilder(); for (var i = 0; i < 50; i++) { this.Dump(testSubject, log, i); testSubject.UpdateQuality(); } this.Dump(testSubject, log, 50); Approvals.Verify(log.ToString()); }
public static void Main(string[] args) { System.Console.WriteLine("OMGHAI!"); IList<Item> items = new List<Item> { new Item { Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20 }, new Item { Name = "Aged Brie", SellIn = 2, Quality = 0 }, new Item { Name = "Elixir of the Mongoose", SellIn = 5, Quality = 7 }, new Item { Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80 }, new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 15, Quality = 20 }, new Item { Name = "Conjured Mana Cake", SellIn = 3, Quality = 6 } }; var guildedRose = new GildedRose(items); for (int i = 0; i < 31; i++) { System.Console.WriteLine("-------- jour " + i + " --------"); System.Console.WriteLine("name, sellIn, quality"); for (int j = 0; j < items.Count; j++) { System.Console.WriteLine(items[j].Name + ", " + items[j].SellIn + ", " + items[j].Quality); } System.Console.WriteLine(""); guildedRose.UpdateQuality(); System.Console.ReadKey(); } System.Console.ReadKey(); }
public void updateQuality_SellinEqualsZero_QualityDecreaseByFour() { //Arrange Item[] items = new Item[] { new Item{Name = "Conjured Mana Cake", SellIn=0, Quality = 20} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Conjured Mana Cake", items[0].Name); Assert.Equal(-1, items[0].SellIn); Assert.Equal(16, items[0].Quality); }
public void updateQuality_SellinGreterThanZero_QualityDecreaseByTwo() { //Arrange Item[] items = new Item[] { new Item{Name = "Conjured Mana Cake", SellIn=10, Quality = 20} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Conjured Mana Cake", items[0].Name); Assert.Equal(9, items[0].SellIn); Assert.Equal(18, items[0].Quality); }
public void updateQuality_QualityEqualsZero_QualityUnchanged() { //Arrange Item[] items = new Item[] { new Item{Name = "+5 Dexterity Vest", SellIn = 10, Quality = 0} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("+5 Dexterity Vest", items[0].Name); Assert.Equal(9, items[0].SellIn); Assert.Equal(0, items[0].Quality); }
public void updateQuality_SellinEvenAndLessThanZero_QualityDecreaseByFour() { //Arrange Item[] items = new Item[] { new Item{Name = "Suspicious Wooden shield", SellIn=-2, Quality = 20} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Suspicious Wooden shield", items[0].Name); Assert.Equal(-3, items[0].SellIn); Assert.Equal(16, items[0].Quality); }
public void updateQuality_SellinEqualsZeroAndQualityEqualsThree_QualityToZero() { //Arrange Item[] items = new Item[] { new Item{Name = "Suspicious Wooden shield", SellIn=0, Quality = 3} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Suspicious Wooden shield", items[0].Name); Assert.Equal(-1, items[0].SellIn); Assert.Equal(0, items[0].Quality); }
public void updateQuality_SellinGreterThanZero_QualityIncreaseByOne() { //Arrange Item[] items = new Item[] { new Item{Name = "Aged Brie", SellIn = 10, Quality = 20} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Aged Brie", items[0].Name); Assert.Equal(9, items[0].SellIn); Assert.Equal(21, items[0].Quality); }
public void updateQuality_QualityEqualsThree_QualityToZero() { //Arrange Item[] items = new Item[] { new Item{Name = "Conjured Mana Cake", SellIn=0, Quality = 3} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Conjured Mana Cake", items[0].Name); Assert.Equal(-1, items[0].SellIn); Assert.Equal(0, items[0].Quality); }
public void updateQuality_SellinLessThanZero_QualityDecreaseByTwo() { //Arrange Item[] items = new Item[] { new Item{Name = "+5 Dexterity Vest", SellIn = -1, Quality = 20} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("+5 Dexterity Vest", items[0].Name); Assert.Equal(-2, items[0].SellIn); Assert.Equal(18, items[0].Quality); }
public void updateQuality_QualityEqualsFifty_QualityDecreaseByOne() { //Arrange Item[] items = new Item[] { new Item{Name = "+5 Dexterity Vest", SellIn = 10, Quality = 50} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("+5 Dexterity Vest", items[0].Name); Assert.Equal(9, items[0].SellIn); Assert.Equal(49, items[0].Quality); }
public void updateQuality_SellinGreterThanZero_QualityUnchanged() { //Arrange Item[] items = new Item[] { new Item{Name = "Sulfuras, Hand of Ragnaros", SellIn = 10, Quality = 20} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Sulfuras, Hand of Ragnaros", items[0].Name); Assert.Equal(10, items[0].SellIn); Assert.Equal(20, items[0].Quality); }
public void updateQuality_QualityEqualsFifty_QualityUnchanged() { //Arrange Item[] items = new Item[] { new Item{Name = "Aged Brie", SellIn = 10, Quality = 50} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Aged Brie", items[0].Name); Assert.Equal(9, items[0].SellIn); Assert.Equal(50, items[0].Quality); }
public void updateQuality_QualityEqualsFortyNine_QualityToFifty() { //Arrange Item[] items = new Item[] { new Item{Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 5, Quality = 49} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Backstage passes to a TAFKAL80ETC concert", items[0].Name); Assert.Equal(4, items[0].SellIn); Assert.Equal(50, items[0].Quality); }
public void updateQuality_QualityEqualsZero_QualityIncreaseByOne() { //Arrange Item[] items = new Item[] { new Item{Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 11, Quality = 0} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Backstage passes to a TAFKAL80ETC concert", items[0].Name); Assert.Equal(10, items[0].SellIn); Assert.Equal(1, items[0].Quality); }
public void updateQuality_SellinBetweenSixAndTen_QualityIncreaseByTwo() { //Arrange Item[] items = new Item[] { new Item{Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 6,Quality = 20} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Backstage passes to a TAFKAL80ETC concert", items[0].Name); Assert.Equal(5, items[0].SellIn); Assert.Equal(22, items[0].Quality); }
public void AgedBrieItem_SellLowerThan0_QualityMoreThan50_QualityMaxAt50() { //--Arrange IList<Item> Items = new List<Item> { new Item {Name = "Aged Brie", SellIn = -10, Quality = 60 } }; var app = new GildedRose(Items); //--Act app.UpdateQuality(); //--Assert Assert.AreEqual(-11, Items[0].SellIn); Assert.AreEqual(60, Items[0].Quality); }
public void AgedBrieItem_SellGreaterThan0_QualityUpgradeNormally() { //--Arrange IList<Item> Items = new List<Item> { new Item {Name = "Aged Brie", SellIn = 5, Quality = 10 } }; var app = new GildedRose(Items); //--Act app.UpdateQuality(); //--Assert Assert.AreEqual(4, Items[0].SellIn); Assert.AreEqual(11, Items[0].Quality); }
public void AgedBrieItem_SellInAt0_QualityUpgradeDoubled() { //--Arrange IList<Item> Items = new List<Item> { new Item {Name = "Aged Brie", SellIn = 0, Quality = 10 } }; var app = new GildedRose(Items); //--Act app.UpdateQuality(); //--Assert Assert.AreEqual(-1, Items[0].SellIn); Assert.AreEqual(12, Items[0].Quality); }
public void UpdateQuality_WhenItemIsConjured_QualityDegradesBeforeExpiryDate() { IList <Item> items = new List <Item> { ItemFactory.CreateItem("Conjured Mana Cake", 2, 4), ItemFactory.CreateItem("Conjured Mana Cake", 10, 25), ItemFactory.CreateItem("Conjured Mana Cake", 20, 50), }; GildedRose app = new GildedRose(items); app.UpdateQuality(); Assert.Equal(2, items[0].Quality); Assert.Equal(23, items[1].Quality); Assert.Equal(48, items[2].Quality); app.UpdateQuality(); Assert.Equal(0, items[0].Quality); }
public void UpdateQuality_WhenItemIsBackstagePass_QualityIncreasesBeforeExpiryDate() { IList <Item> items = new List <Item> { ItemFactory.CreateItem("Backstage passes to a TAFKAL80ETC concert", 11, 0), ItemFactory.CreateItem("Backstage passes to a TAFKAL80ETC concert", 20, 20), ItemFactory.CreateItem("Backstage passes to a TAFKAL80ETC concert", 30, 48), }; GildedRose app = new GildedRose(items); app.UpdateQuality(); Assert.Equal(1, items[0].Quality); Assert.Equal(21, items[1].Quality); Assert.Equal(49, items[2].Quality); app.UpdateQuality(); Assert.Equal(50, items[2].Quality); }
public void UpdateQuality_WhenItemIsRegular_QualityDegradesBeforeExpiryDate() { IList <Item> items = new List <Item> { ItemFactory.CreateItem("foo", 2, 2), ItemFactory.CreateItem("bar", 10, 25), ItemFactory.CreateItem("baz", 20, 50), }; GildedRose app = new GildedRose(items); app.UpdateQuality(); Assert.Equal(1, items[0].Quality); Assert.Equal(24, items[1].Quality); Assert.Equal(49, items[2].Quality); app.UpdateQuality(); Assert.Equal(0, items[0].Quality); }
public void QueijoBEnvelhecido_DecrementaPrazoDeVenda_ValidaPrazoVenda() { //Arrange var queijo = new QueijoBEnvelhecido(); var Items = new List <Item> { new Item { Nome = Name, PrazoParaVenda = 3, Qualidade = 6 } }; GildedRose app = new GildedRose(Items); //Act for (int i = 0; i < DIAS; i++) { Item = queijo.ValidarItems(Items); } //Assert Assert.Equal(-21, Item.PrazoParaVenda); }
public void UpdateQuality_WhenItemIsAgedBrie_QualityIncreasesBeforeExpiryDate() { IList <Item> items = new List <Item> { ItemFactory.CreateItem("Aged Brie", 2, 0), ItemFactory.CreateItem("Aged Brie", 10, 25), ItemFactory.CreateItem("Aged Brie", 20, 48), }; GildedRose app = new GildedRose(items); app.UpdateQuality(); Assert.Equal(1, items[0].Quality); Assert.Equal(26, items[1].Quality); Assert.Equal(49, items[2].Quality); app.UpdateQuality(); Assert.Equal(50, items[2].Quality); }
public void QueijoBEnvelhecido_QualidadeVaiAZeroCasoPrazoDeVendaEstejaPassado_ZeraQualidade() { //Arrange var queijo = new QueijoBEnvelhecido(); var Items = new List <Item> { new Item { Nome = Name, PrazoParaVenda = 3, Qualidade = 6 } }; GildedRose app = new GildedRose(Items); //Act for (int i = 0; i < DIAS; i++) { Item = queijo.ValidarItems(Items); } //Assert Assert.Equal(50, Item.Qualidade); }
public void DecreaseTheQualityOfAnItemByOne() { IList <Item> actualItems = new List <Item> { new Item { Name = "apple", SellIn = 1, Quality = 1 } }; var qualityUpdater = new GildedRose(actualItems); qualityUpdater.UpdateQuality(); var expectedItems = new List <Item> { new Item { Name = "apple", SellIn = 0, Quality = 0 } }; Assert.AreEqual(expectedItems[0].Quality, actualItems[0].Quality); }
public void DecreaseTheQualityTwiceAsFastWhenPastSellInDate() { IList <Item> actualItems = new List <Item> { new Item { Name = "apple", SellIn = -1, Quality = 5 } }; var qualityUpdater = new GildedRose(actualItems); qualityUpdater.UpdateQuality(); var expectedItems = new List <Item> { new Item { Name = "apple", SellIn = -2, Quality = 3 } }; Assert.AreEqual(expectedItems[0].Quality, actualItems[0].Quality); }
public void NotDecreaseTheQualityWhenThereIsNoQualityLeft() { IList <Item> actualItems = new List <Item> { new Item { Name = "apple", SellIn = 0, Quality = 0 } }; var qualityUpdater = new GildedRose(actualItems); qualityUpdater.UpdateQuality(); var expectedItems = new List <Item> { new Item { Name = "apple", SellIn = 0, Quality = 0 } }; Assert.AreEqual(expectedItems[0].Quality, actualItems[0].Quality); }
public void SulfurasDoesNotDecreaseInQualityOrSellIn() { IList <Item> Items = new List <Item> { new Item { Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80 }, new Item { Name = "Sulfuras, Hand of Ragnaros", SellIn = -1, Quality = 80 } }; var gildedRose = new GildedRose(Items); gildedRose.UpdateQuality(); gildedRose.Items[0].Quality.Should().Be(80); gildedRose.Items[0].SellIn.Should().Be(0); gildedRose.Items[1].Quality.Should().Be(80); gildedRose.Items[1].SellIn.Should().Be(-1); }
public void Initialize() { dexterityVest = new Item("+5 Dexterity Vest"); agedBrie = new Item("Aged Brie"); elixir = new Item("Elixir of the Mongoose"); sulfuras = new Item("Sulfuras, Hand of Ragnaros"); backstagePasses = new Item("Backstage passes to a TAFKAL80ETC concert") { SellIn = 15, Quality = 20 }; conjured = new Item("Conjured Mana Cake") { SellIn = 3, Quality = 6 }; items = new List <Item> { dexterityVest, agedBrie, elixir, sulfuras, backstagePasses, conjured }; sut = new GildedRose(items); }
public void SetUp() { var items = new List <Item>() { new Item { Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20 }, new Item { Name = "Aged Brie", SellIn = 2, Quality = 0 }, new Item { Name = "Elixir of the Mongoose", SellIn = 5, Quality = 7 }, new Item { Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80 }, new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 15, Quality = 20 }, new Item { Name = "Conjured Mana Cake", SellIn = 3, Quality = 6 }, new Item { Name = "Spoiled Item", Quality = 10, SellIn = 0 }, new Item { Name = "Low Quality Item", Quality = 1, SellIn = 1 }, new Item { Name = "Conjured Mana Cake", Quality = 5, SellIn = 5 }, new Item { Name = "Conjured Water", Quality = 7, SellIn = 7 } }; _app = new GildedRose(items); _items = _app.GetItems(); }
public void QualityDoesntGoOver50() { //Quality stops when it gets to 50 //arrange IList <Item> Items = new List <Item> { new Item { Name = "Aged Brie", SellIn = 5, Quality = 50 } }; GildedRose app = new GildedRose(Items); // var Quality = new quality(); //act app.UpdateQuality(); //assert Assert.AreEqual(50, Items[0].Quality); }
public void Once_sell_by_date_has_passed_Quality_degrades_twice_as_fast() { int initialQuality = 10; int initialSellIn = 1; int numberOfDays = 4; IList <Item> items = new List <Item> { new Item { Name = "foo", SellIn = initialSellIn, Quality = initialQuality } }; GildedRose app = new GildedRose(items); app.AdvanceTime(numberOfDays); var normalRateQualityDecrease = initialSellIn; var doubleRateQualityDecrease = (numberOfDays - initialSellIn) * 2; Assert.AreEqual(initialQuality - (normalRateQualityDecrease + doubleRateQualityDecrease), items[0].Quality); }
public void Corselete5DEX_PrazoParaVendaPassado_QualidadePerdeMaisValor() { var corselete5DEX = new Corselete5DEX(); var Items = new List <Item> { new Item { Nome = ITEM_NAME_CORSELETE_5_DEXT, PrazoParaVenda = 10, Qualidade = 20 } }; GildedRose app = new GildedRose(Items); //Act for (int i = 0; i < DIAS; i++) { //Assert.Equal(8, Items.Where(i => i.PrazoParaVenda == -1).Sum(q => q.Qualidade -= 2)); Item = corselete5DEX.ValidarItems(Items); } //Assert Assert.Equal(0, Item.Qualidade); }
public void UpdateQuality_Item_QualityDegradesTwiceAfterSellByDate([Range(2, 50)] int startQuality) { IList <Item> items = new List <Item> { new Item { Name = "BEFORE_SELL_BY", SellIn = 1, Quality = startQuality }, new Item { Name = "AFTER_SELL_BY", SellIn = 0, Quality = startQuality } }; var app = new GildedRose(items); app.UpdateQuality(); var beforeSellByDelta = startQuality - items[0].Quality; var afterSellByDelta = startQuality - items[1].Quality; Assert.AreEqual(beforeSellByDelta * 2, afterSellByDelta); }
public void UpdateQuality_ConjuredItem_QualityDegradesTwice([Range(2, 50)] int startQuality) { IList <Item> items = new List <Item> { new Item { Name = "DEFAULT_ITEM", SellIn = 1, Quality = startQuality }, new Item { Name = "Conjured Mana Cake", SellIn = 1, Quality = startQuality } }; var app = new GildedRose(items); app.UpdateQuality(); var defaultQualityDelta = startQuality - items[0].Quality; var conjuredQualityDelta = startQuality - items[1].Quality; Assert.AreEqual(defaultQualityDelta * 2, conjuredQualityDelta); }
public void UpdateQuality_QualityCannotBeNegative() { // Arrange IList <Item> items = new List <Item> { new Item { Name = "foo", SellIn = 2, Quality = 2 } }; GildedRose app = new GildedRose(items); // Act app.UpdateQuality(); app.UpdateQuality(); app.UpdateQuality(); // Assert Assert.Equal("foo", items[0].Name); Assert.Equal(-1, items[0].SellIn); Assert.Equal(0, items[0].Quality); }
public void Test_Quality_Never_Negative() { IList <Item> items = new List <Item> { new Item { Name = "+5 Dexterity Vest", SellIn = 1, Quality = 1 } }; GildedRose unitUnderTest = new GildedRose(items); unitUnderTest.UpdateQuality(); Assert.Equal(0, items[0].Quality); Assert.Equal(0, items[0].SellIn); unitUnderTest.UpdateQuality(); Assert.Equal(0, items[0].Quality); Assert.Equal(-1, items[0].SellIn); }
public void QueijoBEnvelhecido_ItemValorAcimaDoPermitido_DevePararDeIncrementarAQualidade() { //Arrange var queijo = new QueijoBEnvelhecido(); var Items = new List <Item> { new Item { Nome = Name, PrazoParaVenda = 3, Qualidade = 6 } }; GildedRose app = new GildedRose(Items); //Act for (int i = 0; i < 1; i++) { Item = queijo.ValidarItems(Items); } //Assert Assert.Equal(7, Item.Qualidade); }
public void Ingressos_ValidaQualidade_DependentoDoPrazoParaVendaIncrementaQualidade() { //Arrange var ingresso = new Ingresso(); var Items = new List <Item> { new Item { Nome = ITEM_NAME, PrazoParaVenda = 6, Qualidade = 50 } }; GildedRose app = new GildedRose(Items); //Act for (int i = 0; i <= DIAS; i++) { Item = ingresso.ValidarItems(Items); } //Assert Assert.Equal(0, Item.Qualidade); }
public void Test_Quality_Degrades_Twice_SellIn_Negative() { IList <Item> items = new List <Item> { new Item { Name = "+5 Dexterity Vest", SellIn = -1, Quality = 10 } }; GildedRose unitUnderTest = new GildedRose(items); unitUnderTest.UpdateQuality(); Assert.Equal(8, items[0].Quality); Assert.Equal(-2, items[0].SellIn); unitUnderTest.UpdateQuality(); Assert.Equal(6, items[0].Quality); Assert.Equal(-3, items[0].SellIn); }
public void AgedBrieNoSellInDate() { //Should increase by 2 if there is no SellIn Date //arrange IList <Item> Items = new List <Item> { new Item { Name = "Aged Brie", SellIn = 0, Quality = 5 } }; GildedRose app = new GildedRose(Items); // var Quality = new quality(); //act app.UpdateQuality(); //assert Assert.AreEqual(7, Items[0].Quality); }
public void UpdateQuality_BackstagePasses_5DaysToConcert() { //Arrange IList <Item> backstagePass = new List <Item>() { new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 15, Quality = 20 } }; GildedRose app = new GildedRose(backstagePass); //Action app.UpdateQuality(10); //Assert Assert.IsTrue(backstagePass[0].Quality == 23); }
public void Corselete5DEX_ValidaValorMaximoDaQualidade_DeveParardeIncrementarAQualidade() { //Arrange var corselete5DEX = new Corselete5DEX(); var Items = new List <Item> { new Item { Nome = ITEM_NAME_CORSELETE_5_DEXT, PrazoParaVenda = 10, Qualidade = 20 } }; GildedRose app = new GildedRose(Items); //Act for (int i = 0; i < DIAS; i++) { Item = corselete5DEX.ValidarItems(Items); } //Assert Assert.Equal(-20, Item.PrazoParaVenda); Assert.Equal(0, Item.Qualidade); }
public void Given_ConjuredItemAndSellInIsZero_When_NextDay_Then_QualityDropsWithFourAndSellInDropsWithOne() { IList <Item> Items = new List <Item> { new Item { Name = "Conjured Mana Cake", SellIn = 0, Quality = 20 }, }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.AreEqual("Conjured Mana Cake", Items[0].Name); Assert.AreEqual(-1, Items[0].SellIn); Assert.AreEqual(16, Items[0].Quality); }
public void Ingressos_ZeraQualidadeSePrazoDeVendaIgualAZero_ValidaQualidade() { //Arrange var ingresso = new Ingresso(); var Items = new List <Item> { new Item { Nome = ITEM_NAME, PrazoParaVenda = 15, Qualidade = 20 } }; GildedRose app = new GildedRose(Items); //Act for (int i = 1; i <= 16; i++) { Item = ingresso.ValidarItems(Items); } //Assert Assert.Equal(-1, Item.PrazoParaVenda); Assert.Equal(0, Item.Qualidade); }
public void Given_BackstagePassesItemAndSellInIsZero_When_NextDay_Then_QualityEqualsZeroAndSellInDropsWithOne() { IList <Item> Items = new List <Item> { new Item { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 0, Quality = 20 }, }; GildedRose app = new GildedRose(Items); app.UpdateQuality(); Assert.AreEqual("Backstage passes to a TAFKAL80ETC concert", Items[0].Name); Assert.AreEqual(-1, Items[0].SellIn); Assert.AreEqual(0, Items[0].Quality); }
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 updateQuality_SellinEqualsFive_QualityIncreaseByThree() { //Arrange Item[] items = new Item[] { new Item{Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 5, Quality = 20} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Backstage passes to a TAFKAL80ETC concert", items[0].Name); Assert.Equal(4, items[0].SellIn); Assert.Equal(23, items[0].Quality); }
public void RegularItem_SellInGreaterThan0_QualityDegradeNormally() { //--Arrange IList<Item> Items = new List<Item> { new Item {Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20 } }; var app = new GildedRose(Items); //--Act app.UpdateQuality(); //--Assert Assert.AreEqual(9, Items[0].SellIn); Assert.AreEqual(19, Items[0].Quality); }
private void Dump(GildedRose testSubject, StringBuilder log, int iteration) { log.AppendFormat("After Iteration {0}", iteration); testSubject.DumpDebugInfo(log); log.AppendLine(); }
public void RegularItem_SellInArriveAt0_QualityDegradeDoubled() { //--Arrange IList<Item> Items = new List<Item> { new Item {Name = "+5 Dexterity Vest", SellIn = 0, Quality = 10 } }; var app = new GildedRose(Items); //--Act app.UpdateQuality(); //--Assert Assert.AreEqual(-1, Items[0].SellIn); Assert.AreEqual(8, Items[0].Quality); }
public void setup() { gildedRose = new GildedRose(); items = gildedRose.makeItems(); }
public void LegendaryItem_SellInAt0_QualityDontChange() { //--Arrange IList<Item> Items = new List<Item> { new Item {Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80 } }; var app = new GildedRose(Items); //--Act app.UpdateQuality(); //--Assert Assert.AreEqual(0, Items[0].SellIn); Assert.AreEqual(80, Items[0].Quality); }
public void Setup() { webService = new Mock<IGildedRoseWebService>(); subject = new GildedRose(webService.Object); }
public void updateQuality_SellinEqualsZero_QualityToZero() { //Arrange Item[] items = new Item[] { new Item{Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 0, Quality = 20} }; GildedRose app = new GildedRose(items); //Act app.UpdateQuality(); //Assert Assert.Equal("Backstage passes to a TAFKAL80ETC concert", items[0].Name); Assert.Equal(-1, items[0].SellIn); Assert.Equal(0, items[0].Quality); }
public void BackstagePass_SellInAt0_QualityUpgradeThrice() { //--Arrange IList<Item> Items = new List<Item> { new Item {Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 1, Quality = 10 } }; var app = new GildedRose(Items); //--Act app.UpdateQuality(); //--Assert Assert.AreEqual(0, Items[0].SellIn); Assert.AreEqual(13, Items[0].Quality); }
public void RegularItem_SellInLower0_QualityDegradeMinAt0() { //--Arrange IList<Item> Items = new List<Item> { new Item {Name = "+5 Dexterity Vest", SellIn = -5, Quality = 0 } }; var app = new GildedRose(Items); //--Act app.UpdateQuality(); //--Assert Assert.AreEqual(-6, Items[0].SellIn); Assert.AreEqual(0, Items[0].Quality); }