Fixed BackstagePasses

This commit is contained in:
Greden Night 2023-04-24 09:01:09 +03:00
parent 634f8e5ad0
commit 8560d18c92

View File

@ -4,6 +4,8 @@ namespace csharp
{
public class GildedRose
{
const int MinQuality = 0;
const int MaxQuality = 50;
IList<Item> Items;
public GildedRose(IList<Item> Items)
{
@ -12,7 +14,7 @@ namespace csharp
void UpdateItem(ref Item item, int sellInValueFactor, int qualityValueFactor)
{
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)
@ -33,7 +35,10 @@ namespace csharp
Item GetNewBackstagesPasses(Item item)
{
if (IsExpired(item))
{
UpdateItem(ref item, -1, 0);
item.Quality = 0;
}
else
{
if (item.SellIn <= 10 && item.SellIn > 5)
@ -48,6 +53,7 @@ namespace csharp
{
UpdateItem(ref item, -1, 1);
}
}
return item;
}