public void SellInNeverChanges(int sellIn, int quality) { var sulfuras = new FinestGood(SULFURAS_ITEM_NAME, sellIn, quality); int expectedSellIn = sellIn; new SulfurasItemUpdaterRuleset().ApplyUpdates(sulfuras); Assert.Equal(expectedSellIn, sulfuras.SellIn); }
[InlineData(int.MinValue, -1)] // Min SellIn & Quality Lower Bound public void QualityIncreases(int sellIn, int quality) { var agedBrie = new FinestGood(AGED_BRIE_ITEM_NAME, sellIn, quality); int expectedQuality = InventoryManagementRules.GetMaturedQuality(quality); new AgedBrieItemUpdaterRuleset().ApplyUpdates(agedBrie); Assert.Equal(expectedQuality, agedBrie.Quality); }
public void SellInDecreases(string itemName, int sellIn, int quality) { var finestGood = new FinestGood(itemName, sellIn, quality); int expectedSellIn = InventoryManagementRules.GetUpdatedSellIn(sellIn); new AgedBrieItemUpdaterRuleset().ApplyUpdates(finestGood); Assert.Equal(expectedSellIn, finestGood.SellIn); }
public void AdheresToMinQuality(string itemName, int sellIn, int quality) { var finestGood = new FinestGood(itemName, sellIn, quality); int maturedQuality = InventoryManagementRules.GetMaturedQuality(quality); int expectedQuality = InventoryManagementRules.GetMinimumAdjustedQuality(maturedQuality); new AgedBrieItemUpdaterRuleset().ApplyUpdates(finestGood); Assert.Equal(expectedQuality, finestGood.Quality); }
// int.Min rolls over to positive and causes quality to degrade at lower rate (but we aren't manually reducing sellIn in this method, again 6 million years, that's fine) public void QualityDecreasesIncreasedRate(int sellIn, int quality) { var conjuredItem = new FinestGood(CONJURED_ITEM_NAME, sellIn, quality); bool sellInPassed = InventoryManagementRules.HasSellInPassed(sellIn); int expectedQuality = InventoryManagementRules.GetConjuredQuality(quality, sellInPassed); new ConjuredItemUpdaterRuleset().ApplyUpdates(conjuredItem); Assert.Equal(expectedQuality, conjuredItem.Quality); }
// int.Min rolls over to positive and causes quality to degrade at lower rate (but we aren't manually reducing sellIn in this method, again 6 million years, that's fine) public void QualityDecreases(int sellIn, int quality) { var normalItem = new FinestGood(NORMAL_ITEM_NAME, sellIn, quality); bool sellInPassed = InventoryManagementRules.HasSellInPassed(sellIn); int expectedQuality = InventoryManagementRules.GetDegradedQuality(quality, sellInPassed); new NormalItemUpdaterRuleset().ApplyUpdates(normalItem); Assert.Equal(expectedQuality, normalItem.Quality); }
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); }