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