add Conjured

This commit is contained in:
OKinane 2023-03-11 15:29:51 +01:00
parent 44908d4a89
commit 62d94f1a91
2 changed files with 34 additions and 0 deletions

View File

@ -26,6 +26,10 @@ namespace GildedRoseKata
{
SetQuality(i, quantity => quantity + 1, quantity => quantity + 2);
}
else if (Items[i].Name == "Conjured")
{
SetQuality(i, quantity => quantity - 2, quantity => quantity - 4);
}
else if (Items[i].Name == "Backstage passes to a TAFKAL80ETC concert")
{
SetQuality(i, quantity => GetNewBackstageQuality(i), q => 0);

View File

@ -155,5 +155,35 @@ namespace GildedRoseTests
Assert.Equal(-1, Items[0].SellIn);
Assert.Equal(0, Items[0].Quality);
}
[Fact]
public void conjured_quality_decrease_by_two_before_sell_by_date_has_passed()
{
IList<Item> Items = new List<Item> { new Item { Name = "Conjured", SellIn = 3, Quality = 5 } };
GildedRose app = new GildedRose(Items);
app.UpdateQuality();
Assert.Equal(2, Items[0].SellIn);
Assert.Equal(3, Items[0].Quality);
}
[Fact]
public void conjured_quality_decrease_by_four_after_sell_by_date_has_passed()
{
IList<Item> Items = new List<Item> { new Item { Name = "Conjured", SellIn = 0, Quality = 5 } };
GildedRose app = new GildedRose(Items);
app.UpdateQuality();
Assert.Equal(-1, Items[0].SellIn);
Assert.Equal(1, Items[0].Quality);
}
[Fact]
public void conjured_with_0_quality_is_still_0_after_sell_by_date_has_passed()
{
IList<Item> Items = new List<Item> { new Item { Name = "Conjured", SellIn = 0, Quality = 0 } };
GildedRose app = new GildedRose(Items);
app.UpdateQuality();
Assert.Equal(-1, Items[0].SellIn);
Assert.Equal(0, Items[0].Quality);
}
}
}