public void QualityIncreasesBeforeEvent(int quality, int sellIn)
            {
                int expectedQuality = quality + TheGetMaturedQualityMethod.QUALITY_MATURES_BY;

                var updatedQuality = InventoryManagementRules.GetEventQuality(quality, sellIn);

                Assert.Equal(expectedQuality, updatedQuality);
            }
            public void ReturnsZeroWhenSellInPassed(int quality, int sellIn)
            {
                const int SELLIN_PASSED_QUALITY = 0;

                int expectedQuality = SELLIN_PASSED_QUALITY;

                int updatedQuality = InventoryManagementRules.GetEventQuality(quality, sellIn);

                Assert.Equal(expectedQuality, updatedQuality);
            }
            public void QualityIncreasesMostWhenEventImminent(int quality, int sellIn)
            {
                const int EVENT_IMMINENT_QUALITY_INCREASE = 3;

                int expectedQuality = quality + EVENT_IMMINENT_QUALITY_INCREASE;

                int updatedQuality = InventoryManagementRules.GetEventQuality(quality, sellIn);

                Assert.Equal(expectedQuality, updatedQuality);
            }
            public void QualityIncreasesMoreWhenEventClose(int quality, int sellIn)
            {
                const int EVENT_CLOSE_QUALITY_INCREASE = 2;

                int expectedQuality = quality + EVENT_CLOSE_QUALITY_INCREASE;

                int updatedQuality = InventoryManagementRules.GetEventQuality(quality, sellIn);

                Assert.Equal(expectedQuality, updatedQuality);
            }
            public void AppliesEventRule(int sellIn, int quality)
            {
                // We vigorously check the rule conditions in InventoryManagementRules - so here the goal is to make sure it's applied to the ruleset
                var backstagePass = new FinestGood(BACKSTAGE_PASSES_ITEM_NAME, sellIn, quality);

                int expectedQuality = InventoryManagementRules.GetEventQuality(quality, sellIn);

                new BackstagePassesItemUpdaterRuleset().ApplyUpdates(backstagePass);

                Assert.Equal(expectedQuality, backstagePass.Quality);
            }