public void GivenFrozenItem_WhenSellinPast0_QualityReduces2xFaster()
        {
            var item = new Item()
            {
                Name = "Frozen Item", Quality = 2, SellIn = -1
            };
            var rule = new FrozenItemUpdateRule();

            rule.Update(item);

            item.Quality.Should().Be(0);
        }
        public void GivenFrozenItem_WhenQualityAlready0_QualityIsNotNegative()
        {
            var item = new Item()
            {
                Name = "Frozen Item", Quality = 0, SellIn = 2
            };
            var rule = new FrozenItemUpdateRule();

            rule.Update(item);

            item.Quality.Should().Be(0);
        }
        public void GivenFrozenItem_WhenQualityMoreThan50_QualityResetTo50()
        {
            var item = new Item()
            {
                Name = "Frozen Item", Quality = 55, SellIn = 2
            };
            var rule = new FrozenItemUpdateRule();

            rule.Update(item);

            item.Quality.Should().Be(50);
        }
        public void GivenFrozenItem_WhenUpdated_QualityReducesBy1()
        {
            var item = new Item()
            {
                Name = "Frozen Item", Quality = 2, SellIn = 2
            };
            var rule = new FrozenItemUpdateRule();

            rule.Update(item);

            item.Quality.Should().Be(1);
        }