# Технічні вимоги «Gilded Rose» Привіт і ласкаво просимо до команди Gilded Rose. Як ви знаєте, ми — невеликий готель з чудовим розташуванням у видатному місті, яким керує привітна господиня на ім'я Еллісон. Ми також купуємо і продаємо тільки найкращі товари. На жаль, якість (`Quality`) наших товарів постійно погіршується по мірі наближення до кінцевого терміну придатності. Ми маємо інформаційну систему, яка веде облік всіх товарів. Система була розроблена прагматичним хлопцем на ім'я Лірой, який вирушив у нові пригоди. Ваше завдання полягає в тому, щоб додати новий функціонал до нашої системи, щоб ми могли почати продавати нову категорію товарів. Спочатку коротке введення в нашу систему: - Усі `items` (предмети) мають значення `SellIn`, яке позначає кількість днів, протягом яких ми повинні продати `items` (цей товар). - Усі `items` мають значення `Quality`, яке позначає якість `item`. - В кінці кожного дня наша система знижує значення обох властивостей для кожного `item`. Досить просто, чи не так? Але тут починається найцікавіше: - Після того як `SellIn` (дата продажу) минула, `Quality` (якість) падає вдвічі швидше - `Quality` товару ніколи не може бути від'ємною - Для товару __"Aged Brie"__ якість збільшується з віком - `Quality` товару ніколи не перевищує `50` - __"Sulfuras"__, як легендарний товар, ніколи не потребує продажу і його `Quality` ніколи не зменшується - __"Backstage passes"__ (пропуск за лаштунки), як і __"Aged Brie"__, збільшує якість по мірі наближення до значення `SellIn`: - `Quality` (Якість) збільшується на `2`, коли залишилося `10` днів або менше, і на `3`, коли залишилося `5` днів або менше, але - Якість падає до `0` після концерту Ми недавно підписали угоду з постачальником чарівних товарів. Це потребує оновлення нашої системи: - Чарівні (__"Conjured"__) предмети втрачають якість (`Quality`) удвічі швидше, ніж звичайні товари Не соромтеся вносити будь-які зміни до методу `UpdateQuality` та додавати будь-який новий код, поки система працює правильно. Однак не змінюйте клас `Item` або властивість `Items`, оскільки вони належать гобліну в кутку, який дуже роздратований і тому вистрілить в вас, оскільки він не вірить у принцип спільної власності коду (ви можете зробити метод `UpdateQuality` та властивість `Items` статичними, якщо хочете — ми прикриємо вас). Просто для уточнення, товар ніколи не може мати якість (`Quality`) вище, ніж `50`, однак легендарний товар __"Sulfuras"__ має якість `80` і вона ніколи не змінюється.