mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 06:21:29 +00:00
Implement Conjured items logic
This commit is contained in:
parent
2d7048efa8
commit
c13dfb967a
@ -13,6 +13,8 @@ namespace csharp
|
||||
{
|
||||
foreach (var item in _items)
|
||||
{
|
||||
var qualityDegradationMultiplier = item.Name == "Conjured Mana Cake" ? 2 : 1;
|
||||
|
||||
if (item.Name != "Aged Brie"
|
||||
&& item.Name != "Backstage passes to a TAFKAL80ETC concert")
|
||||
{
|
||||
@ -20,7 +22,7 @@ namespace csharp
|
||||
{
|
||||
if (item.Name != "Sulfuras, Hand of Ragnaros")
|
||||
{
|
||||
item.Quality = item.Quality - 1;
|
||||
item.Quality = item.Quality - qualityDegradationMultiplier;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -72,7 +74,7 @@ namespace csharp
|
||||
|
||||
if (item.Name != "Sulfuras, Hand of Ragnaros")
|
||||
{
|
||||
item.Quality = item.Quality - 1;
|
||||
item.Quality = item.Quality - qualityDegradationMultiplier;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@ -221,5 +221,41 @@ namespace csharp
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(0));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_ConjuredItemWithSellIn4_DecreasesQualityBy2()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "Conjured Mana Cake",
|
||||
Quality = 35,
|
||||
SellIn = 4
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(33));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_ConjuredItemWithSellIn0_DecreasesQualityBy4()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "Conjured Mana Cake",
|
||||
Quality = 35,
|
||||
SellIn = 0
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(31));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user