From 8560d18c9250eeb78a808ed514b887b66da6d995 Mon Sep 17 00:00:00 2001 From: Greden Night Date: Mon, 24 Apr 2023 09:01:09 +0300 Subject: [PATCH] Fixed BackstagePasses --- csharp/GildedRose.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/csharp/GildedRose.cs b/csharp/GildedRose.cs index ac9c4192..cee43df2 100644 --- a/csharp/GildedRose.cs +++ b/csharp/GildedRose.cs @@ -4,6 +4,8 @@ namespace csharp { public class GildedRose { + const int MinQuality = 0; + const int MaxQuality = 50; IList Items; public GildedRose(IList 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; }