public void UpdateSellInAndQuality(Item item)
        {
            var increment = item.SellIn > 0 ? 1 : 2;

            item.Quality += increment;

            _qualityToBoundariesAligner.AlignQualityToBoundaries(item);
            _sellInDecrementor.DecrementSellIn(item);
        }
예제 #2
0
        public void UpdateSellInAndQuality(Item item)
        {
            var decrement = item.SellIn > 0
                                ? RegularItemProcessor.DegradationNormalSpeed * 2
                                : RegularItemProcessor.DegradationDoubleSpeed * 2;

            item.Quality -= decrement;

            _qualityToBoundariesAligner.AlignQualityToBoundaries(item);
            _sellInDecrementor.DecrementSellIn(item);
        }
예제 #3
0
        public void UpdateSellInAndQuality(Item item)
        {
            var increment = item.SellIn > 10
                                ? 1
                                : item.SellIn > 5
                                        ? 2
                                        : item.SellIn > 0
                                                ? 3
                                                : 0;

            item.Quality = increment != 0
                                ? item.Quality + increment
                                : 0;

            _qualityToBoundariesAligner.AlignQualityToBoundaries(item);
            _sellInDecrementor.DecrementSellIn(item);
        }