public void AllowNegativeSellIn()
        {
            var statusUpdater = new InventoryStatusUpdater();
            var normalItem    = new Item {
                Name = "Normal Normal", Quality = 50, SellIn = 1
            };
            var items = new List <Item> {
                normalItem
            };

            statusUpdater.UpdateQuality(items);
            statusUpdater.UpdateQuality(items);

            Assert.Equal(-1, normalItem.SellIn);
        }
        public void DecreaseQualityByTwoAfterSellInReachesZero()
        {
            var statusUpdater = new InventoryStatusUpdater();
            var normalItem    = new Item {
                Name = "Normal Normal", Quality = 50, SellIn = 1
            };
            var items = new List <Item> {
                normalItem
            };

            statusUpdater.UpdateQuality(items); // -1
            statusUpdater.UpdateQuality(items); // -2
            statusUpdater.UpdateQuality(items); // -2

            Assert.Equal(45, normalItem.Quality);
        }