mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 06:51:27 +00:00
"Aged Brie" Quality increases by 1 as SellIn decreases. Line 78 to 84 will make "Aged Brie" Quality increases by 1 . A unit test for "Aged Brie" that has a SellIn value of 0 or less will result in a quality increase of 2. That is incorrect since the requirement states that "Aged Brie" Quality increases by 1 as SellIn approcahes. Lines 78 to 84 have been commented out to rectify the problem.
101 lines
2.0 KiB
C#
101 lines
2.0 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace GildedRose
|
|
{
|
|
class GildedRose
|
|
{
|
|
IList<Item> Items;
|
|
public GildedRose(IList<Item> Items)
|
|
{
|
|
this.Items = Items;
|
|
}
|
|
|
|
public void UpdateQuality()
|
|
{
|
|
for (var i = 0; i < Items.Count; i++)
|
|
{
|
|
if (Items[i].Name != "Aged Brie" && Items[i].Name != "Backstage passes to a TAFKAL80ETC concert")
|
|
{
|
|
if (Items[i].Quality > 0)
|
|
{
|
|
if (Items[i].Name != "Sulfuras, Hand of Ragnaros")
|
|
{
|
|
Items[i].Quality = Items[i].Quality - 1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (Items[i].Quality < 50)
|
|
{
|
|
Items[i].Quality = Items[i].Quality + 1;
|
|
|
|
if (Items[i].Name == "Backstage passes to a TAFKAL80ETC concert")
|
|
{
|
|
if (Items[i].SellIn < 11)
|
|
{
|
|
if (Items[i].Quality < 50)
|
|
{
|
|
Items[i].Quality = Items[i].Quality + 1;
|
|
}
|
|
}
|
|
|
|
if (Items[i].SellIn < 6)
|
|
{
|
|
if (Items[i].Quality < 50)
|
|
{
|
|
Items[i].Quality = Items[i].Quality + 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (Items[i].Name != "Sulfuras, Hand of Ragnaros")
|
|
{
|
|
Items[i].SellIn = Items[i].SellIn - 1;
|
|
}
|
|
|
|
if (Items[i].SellIn < 0)
|
|
{
|
|
if (Items[i].Name != "Aged Brie")
|
|
{
|
|
if (Items[i].Name != "Backstage passes to a TAFKAL80ETC concert")
|
|
{
|
|
if (Items[i].Quality > 0)
|
|
{
|
|
if (Items[i].Name != "Sulfuras, Hand of Ragnaros")
|
|
{
|
|
Items[i].Quality = Items[i].Quality - 1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Items[i].Quality = Items[i].Quality - Items[i].Quality;
|
|
}
|
|
}
|
|
//else
|
|
//{
|
|
// if (Items[i].Quality < 50)
|
|
// {
|
|
// Items[i].Quality = Items[i].Quality + 1;
|
|
// }
|
|
//}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public class Item
|
|
{
|
|
public string Name { get; set; }
|
|
|
|
public int SellIn { get; set; }
|
|
|
|
public int Quality { get; set; }
|
|
}
|
|
|
|
}
|