# Технические требования «Gilded Rose» Привет и добро пожаловать в команду «Gilded Rose». Как вы знаете, мы небольшая гостиница удобно расположенная в известном городе под руководством дружественного управляющего по имени Эллисон. Также мы занимаемся покупкой и продажей только самых лучших товаров. К несчастью, качество наших товаров постоянно ухудшается по мере приближения к максимальному сроку хранения. У нас есть информационная система, которая ведет переучет всех товаров. Система была разработана рубаха-парнем, по имени Leeroy, который отправился за поисками новых приключений. Ваша задача заключается в том, чтобы добавить новый функционал в нашу систему, чтобы мы могли начать продавать новую категорию товаров. Для начала введение в нашу систему: - Все `товары` имеют значение `срока реализации` (`SellIn`), которое обозначает количество дней, в течение которых мы должны их продать - Все `товары` имеют значение `качества` (`Quality`), которое обозначает, насколько ценен товар - В конце дня наша система снижает значение обоих свойств для каждого товара Довольно просто, не правда ли? Тут-то и начинается самое интересное: - Как только срок продажи товара истек, его качество (`Quality`) портится в два раза быстрее - Качество (`Quality`) товара никогда не бывает отрицательным - Для товара __"Aged Brie"__ качество (`Quality`) увеличивается с возрастом - Качество (`Quality`) товара никогда не превышает `50` - __"Sulfuras"__, являясь легендарным товаром, никогда не нужно продавать и его `качество` (`Quality`) никогда не уменьшается - __"Backstage passes"__, как и __"Aged Brie"__, увеличивается в качестве (`Quality`) по мере приближения к значению срока реализации (`SellIn`): - Качество (`Quality`) увеличивается на `2`, когда остаётся `10` дней или меньше, и на `3`, когда остаётся `5` дней или меньше, но - Качество (`Quality`) падает до `0` после концерта Недавно мы подписали контракт с поставщиком зачарованных товаров. Это требует обновления нашей системы: - Зачарованные (__"Conjured"__) предметы теряют качество (`Quality`) в два раза быстрее обычных товаров Не стесняйтесь вносить любые изменения в метод `UpdateQuality` и добавлять любой новый код до тех пор, пока система работает корректно. Тем не менее, не меняйте класс `Item` или свойства `Items`, так как они принадлежат сидящему в углу гоблину, который очень яростен и поэтому выстрелит в вас поскольку не верит в принцип совместного владения кодом (вы можете сделать метод `UpdateQuality` и свойства класса `Item` статическими если хотите, мы вас прикроем). Просто для уточнения, товар никогда не может иметь качество (`Quality`) выше чем `50`, однако легендарный товар __"Sulfuras"__ имеет качество `80` и оно никогда не меняется.