public static ISellInStrategy GetStrategy(Item item) { if (item is LegendaryItem) return new SulfurasSellInStrategy(); return new DefaultSellInStrategy(); }
public void DoesNotChange() { var item = new Item(); item.SellIn = 0; strategy.UpdateSellIn(item); Assert.AreEqual(0, item.SellIn); }
public void DecreasesByOne() { var item = new Item(); item.SellIn = 0; strategy.UpdateSellIn(item); Assert.AreEqual(-1, item.SellIn); }
public override void UpdateQuality(Item conjuredItem) { if (conjuredItem.SellIn < 0) conjuredItem.Quality -= 4; else conjuredItem.Quality -= 2; base.UpdateQuality(conjuredItem); }
public override void UpdateQuality(Item item) { if (item.SellIn < 0) item.Quality -= 2; else item.Quality -= 1; base.UpdateQuality(item); }
public void QualityDoesNotGoAboveFifty() { var item = new Item(); item.Quality = 51; strategy.UpdateQuality(item); Assert.AreEqual(50, item.Quality); }
public void QualityDecreasesByTwoWhenSellInIsGreaterThanOrEqualToZero() { var item = new Item(); item.Quality = 49; item.SellIn = -1; strategy.UpdateQuality(item); Assert.AreEqual(47, item.Quality); }
public void QualityDoesNotChange() { var item = new Item(); item.Quality = 49; item.SellIn = 0; strategy.UpdateQuality(item); Assert.AreEqual(49, item.Quality); }
public static IQualityStrategy GetStrategy(Item item) { if (item is AgedBrie) return new AgedBrieQualityStrategy(new QualityNeverIncreasesAboveFiftyStrategy()); if (item is LegendaryItem) return new LegendaryQualityStrategy(); if (item is BackstagePass) return new BackstagePassQualityStrategy(new QualityNeverIncreasesAboveFiftyStrategy()); if (item is ConjuredItem) return new ConjuredQualityStrategy(new QualityNeverDegradesBelowZeroStrategy()); return new DefaultQualityStrategy(new QualityNeverDegradesBelowZeroStrategy()); }
public override void UpdateQuality(Item backstagePass) { if (backstagePass.SellIn > 0) { backstagePass.Quality++; if (backstagePass.SellIn <= 10) backstagePass.Quality++; if (backstagePass.SellIn <= 5) backstagePass.Quality++; } else { backstagePass.Quality = 0; } base.UpdateQuality(backstagePass); }
public void UpdateSellIn(Item item) { }
public void UpdateSellIn(Item item) { item.SellIn--; }
public void UpdateQuality(Item sulfuras) { }
public override void UpdateQuality(Item brie) { brie.Quality++; base.UpdateQuality(brie); }
public virtual void UpdateQuality(Item item) { if (strategy != null) strategy.UpdateQuality(item); }