mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-18 07:51: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)
|
foreach (var item in _items)
|
||||||
{
|
{
|
||||||
|
var qualityDegradationMultiplier = item.Name == "Conjured Mana Cake" ? 2 : 1;
|
||||||
|
|
||||||
if (item.Name != "Aged Brie"
|
if (item.Name != "Aged Brie"
|
||||||
&& item.Name != "Backstage passes to a TAFKAL80ETC concert")
|
&& item.Name != "Backstage passes to a TAFKAL80ETC concert")
|
||||||
{
|
{
|
||||||
@ -20,7 +22,7 @@ namespace csharp
|
|||||||
{
|
{
|
||||||
if (item.Name != "Sulfuras, Hand of Ragnaros")
|
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")
|
if (item.Name != "Sulfuras, Hand of Ragnaros")
|
||||||
{
|
{
|
||||||
item.Quality = item.Quality - 1;
|
item.Quality = item.Quality - qualityDegradationMultiplier;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -221,5 +221,41 @@ namespace csharp
|
|||||||
|
|
||||||
Assert.That(item.Quality, Is.EqualTo(0));
|
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