mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
Fixed BackstagePasses
This commit is contained in:
parent
634f8e5ad0
commit
8560d18c92
@ -4,6 +4,8 @@ namespace csharp
|
|||||||
{
|
{
|
||||||
public class GildedRose
|
public class GildedRose
|
||||||
{
|
{
|
||||||
|
const int MinQuality = 0;
|
||||||
|
const int MaxQuality = 50;
|
||||||
IList<Item> Items;
|
IList<Item> Items;
|
||||||
public GildedRose(IList<Item> Items)
|
public GildedRose(IList<Item> Items)
|
||||||
{
|
{
|
||||||
@ -12,7 +14,7 @@ namespace csharp
|
|||||||
void UpdateItem(ref Item item, int sellInValueFactor, int qualityValueFactor)
|
void UpdateItem(ref Item item, int sellInValueFactor, int qualityValueFactor)
|
||||||
{
|
{
|
||||||
item.SellIn += sellInValueFactor;
|
item.SellIn += sellInValueFactor;
|
||||||
item.Quality = Math.Max(0, Math.Min(50, item.Quality + qualityValueFactor));
|
item.Quality = Math.Max(MinQuality, Math.Min(MaxQuality, item.Quality + qualityValueFactor));
|
||||||
|
|
||||||
}
|
}
|
||||||
bool IsExpired(Item item)
|
bool IsExpired(Item item)
|
||||||
@ -33,7 +35,10 @@ namespace csharp
|
|||||||
Item GetNewBackstagesPasses(Item item)
|
Item GetNewBackstagesPasses(Item item)
|
||||||
{
|
{
|
||||||
if (IsExpired(item))
|
if (IsExpired(item))
|
||||||
|
{
|
||||||
|
UpdateItem(ref item, -1, 0);
|
||||||
item.Quality = 0;
|
item.Quality = 0;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (item.SellIn <= 10 && item.SellIn > 5)
|
if (item.SellIn <= 10 && item.SellIn > 5)
|
||||||
@ -48,6 +53,7 @@ namespace csharp
|
|||||||
{
|
{
|
||||||
UpdateItem(ref item, -1, 1);
|
UpdateItem(ref item, -1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user