mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
added conjucted items handling and tests
This commit is contained in:
parent
62fa51d8b5
commit
3946492a1e
@ -64,15 +64,15 @@ namespace csharp.UnitTests.Tests
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[TestCase(0, 0, 2)]
|
[TestCase(0, 0, 2)]
|
||||||
[TestCase(1, 1, 2)]
|
[TestCase(1, 1, 2)]
|
||||||
public void UpdateQuality_AgedBrieGetsOlder_AgedBrieIncreasesInQuality(int sellIn, int quality, int expectedResult)
|
public void UpdateQuality_AgedBrieGetsOlder_AgedBrieIncreasesInQuality(int sellIn, int quality, int expectedResult)
|
||||||
{
|
{
|
||||||
IList<Item> items = new List<Item> { new Item { Name = "Aged Brie", SellIn = sellIn, Quality = quality } };
|
IList<Item> items = new List<Item> { new Item { Name = "Aged Brie", SellIn = sellIn, Quality = quality } };
|
||||||
var gildedRose = new GildedRose(items);
|
var gildedRose = new GildedRose(items);
|
||||||
|
|
||||||
gildedRose.UpdateQuality();
|
gildedRose.UpdateQuality();
|
||||||
|
|
||||||
Assert.That(items[0].Quality, Is.EqualTo(expectedResult));
|
Assert.That(items[0].Quality, Is.EqualTo(expectedResult));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,7 +172,12 @@ namespace csharp.UnitTests.Tests
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[TestCase(-1, 20, 18)]
|
[TestCase(-1, 20, 16)]
|
||||||
|
[TestCase(1, 20, 18)]
|
||||||
|
[TestCase(5, 50, 48)]
|
||||||
|
[TestCase(5, 55, 53)]
|
||||||
|
[TestCase(5, 1, 0)]
|
||||||
|
[TestCase(-5, 1, 0)]
|
||||||
public void UpdateQuality_ConjuredGetsOlder_ConjuredQualityDegradesTwoTimesFaster(int sellIn, int quality,
|
public void UpdateQuality_ConjuredGetsOlder_ConjuredQualityDegradesTwoTimesFaster(int sellIn, int quality,
|
||||||
int expectedResult)
|
int expectedResult)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -11,6 +11,8 @@ namespace csharp
|
|||||||
_items = items;
|
_items = items;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// V - "Conjured" items degrade in Quality twice as fast as normal items
|
||||||
|
//
|
||||||
public void UpdateQuality()
|
public void UpdateQuality()
|
||||||
{
|
{
|
||||||
for (var i = 0; i < _items.Count; i++)
|
for (var i = 0; i < _items.Count; i++)
|
||||||
@ -22,6 +24,11 @@ namespace csharp
|
|||||||
if (_items[i].Name != "Sulfuras, Hand of Ragnaros")
|
if (_items[i].Name != "Sulfuras, Hand of Ragnaros")
|
||||||
{
|
{
|
||||||
_items[i].Quality = _items[i].Quality - 1;
|
_items[i].Quality = _items[i].Quality - 1;
|
||||||
|
|
||||||
|
if (_items[i].Name.StartsWith("Conjured") && _items[i].Quality > 0)
|
||||||
|
{
|
||||||
|
_items[i].Quality = _items[i].Quality - 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -29,7 +36,7 @@ namespace csharp
|
|||||||
{
|
{
|
||||||
if (_items[i].Quality < 50)
|
if (_items[i].Quality < 50)
|
||||||
{
|
{
|
||||||
_items[i].Quality = _items[i].Quality + 1;
|
_items[i].Quality++;
|
||||||
|
|
||||||
if (_items[i].Name == "Backstage passes to a TAFKAL80ETC concert")
|
if (_items[i].Name == "Backstage passes to a TAFKAL80ETC concert")
|
||||||
{
|
{
|
||||||
@ -37,7 +44,7 @@ namespace csharp
|
|||||||
{
|
{
|
||||||
if (_items[i].Quality < 50)
|
if (_items[i].Quality < 50)
|
||||||
{
|
{
|
||||||
_items[i].Quality = _items[i].Quality + 1;
|
_items[i].Quality++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,7 +52,7 @@ namespace csharp
|
|||||||
{
|
{
|
||||||
if (_items[i].Quality < 50)
|
if (_items[i].Quality < 50)
|
||||||
{
|
{
|
||||||
_items[i].Quality = _items[i].Quality + 1;
|
_items[i].Quality++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -69,6 +76,11 @@ namespace csharp
|
|||||||
{
|
{
|
||||||
_items[i].Quality = _items[i].Quality - 1;
|
_items[i].Quality = _items[i].Quality - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_items[i].Name.StartsWith("Conjured") && _items[i].Quality > 0)
|
||||||
|
{
|
||||||
|
_items[i].Quality = _items[i].Quality - 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user