public void BackstagePassQualityIsZeroAfterConcert() { ItemManager.InitializeInventory(); updateQuantityNTimes(16); backstagePass = new BackstagePass("Backstage passes to a TAFKAL80ETC concert", -1, 0); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(backstagePass))); }
public void Age_WhenQualityIsFifty_ShouldNotIncreaseQuality() { // Arrange var item = new BackstagePass("", 4, 50); // Act item.Age(); // Assert item.Quality.ShouldBe(50); }
public void Age_WhenCalled_ShouldDecreaseSellInByOne(int sellIn) { // Arrange var item = new BackstagePass("", sellIn, 0); // Act item.Age(); // Assert item.SellIn.ShouldBe(sellIn - 1); }
public void BackstagePassesQualityShouldBe0AfterSellInDate(string name, int sellIn, int quality) { var ItemWrapper = new BackstagePass { Name = name, SellIn = sellIn, Quality = quality }; ItemWrapper.UpdateItem(); Assert.That(ItemWrapper.Quality == 0); }
public void BackstagePassesQualityShouldIncreaseBy3WhenSellInIsLessThan5(string name, int sellIn, int quality) { var ItemWrapper = new BackstagePass { Name = name, SellIn = sellIn, Quality = quality }; ItemWrapper.UpdateItem(); Assert.That(ItemWrapper.Quality == quality + 3); }
public void SellInForBackstagePassDecreasesByOne() { var backstagePass = new BackstagePass { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 3, Quality = 0 }; updater = new InventoryUpdater(new[] { backstagePass }); ProcessMany(10); Assert.AreEqual(-7, backstagePass.SellIn); }
public void BackstagePassQualityDropsToZeroAfterTheConcert() { var backstagePass = new BackstagePass { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 5, Quality = 10 }; updater = new InventoryUpdater(new[] { backstagePass }); ProcessMany(5); Assert.AreEqual(0, backstagePass.Quality); }
public void BackstagePassQualityIncreasesByThreeWhenSellInReachesBetweenFiveAndZeroDays() { var backstagePass = new BackstagePass { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 6, Quality = 10 }; updater = new InventoryUpdater(new[] { backstagePass }); ProcessMany(4); Assert.AreEqual(22, backstagePass.Quality); }
public void BackstagePassQualityIncreasesByTwoWhenSellInReachesBetweenSixAndTenDays() { var backstagePass = new BackstagePass { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 11, Quality = 10 }; updater = new InventoryUpdater(new[] { backstagePass }); ProcessMany(5); Assert.AreEqual(20, backstagePass.Quality); }
public void Initialize() { ItemManager.InitializeInventory(); dexterityVest = new DexterityVest("+5 Dexterity Vest", 10, 20); agedBri = new AgedBrie("Aged Brie", 2, 0); elixirOfMongoose = new MongooseElixir("Elixir of the Mongoose", 5, 7); handOfRagnaros = new Sulfuras("Sulfuras, Hand of Ragnaros", 0, 80); backstagePass = new BackstagePass("Backstage passes to a TAFKAL80ETC concert", 15, 20); manaCake = new ManaCake("Conjured Mana Cake", 3, 6); }
public void BackstagePassQualityIncreasesByOneTenDays() { var backstagePass = new BackstagePass { Name = "Backstage passes to a TAFKAL80ETC concert", SellIn = 20, Quality = 10 }; updater = new InventoryUpdater(new[] { backstagePass }); ProcessMany(9); Assert.AreEqual(19, backstagePass.Quality); }
public void Age_WhenSellInIsZeroOrNegative_ShouldSetDegradationRateAndQualityToZero(int sellIn) { // Arrange var item = new BackstagePass("", sellIn, 10); // Act item.Age(); // Assert item.Quality.ShouldBe(0); item.DegradationRate.ShouldBe(0); }
public void Ctor_WhenCalled_ShouldSetUpPropertiesCorrectly(string name, int sellIn, int quality) { // Arrange, Act var item = new BackstagePass(name, sellIn, quality); // Assert item.Name.ShouldBe(name); item.SellIn.ShouldBe(sellIn); item.Quality.ShouldBe(quality); item.DegradationRate.ShouldBe(-1); }
public void Age_WhenSellInIsAboveTen_ShouldIncreaseQualityByOne(int sellIn) { // Arrange var initialQuality = 10; var item = new BackstagePass("", sellIn, initialQuality); // Act item.Age(); // Assert item.Quality.ShouldBe(initialQuality + 1); item.DegradationRate.ShouldBe(-1); }
public void Age_WhenSellInIsBetweenOneAndFive_ShouldIncreaseQualityByThree(int sellIn) { // Arrange var initialQuality = 10; var item = new BackstagePass("", sellIn, initialQuality); // Act item.Age(); // Assert item.Quality.ShouldBe(initialQuality + 3); item.DegradationRate.ShouldBe(-3); }
public void ShouldBeWorthlessAfterSellBy() { Item expiredPass = new BackstagePass() { Quality = _quality, SellIn = -1 }; _rule.Apply(expiredPass); Assert.That(expiredPass.Quality, Is.EqualTo(0)); }
public void ShouldGetTripleQualityIncreaseLessThan5DaysFromSellBy() { Item backStagePass = new BackstagePass() { Quality = _quality, SellIn = 4 }; _rule.Apply(backStagePass); Assert.That(backStagePass.Quality, Is.EqualTo(_quality + 3)); }
public void ShouldGetNormalQualityInceaseMoreThan10DaysFromSellBy() { Item backStagePass = new BackstagePass() { Quality = _quality, SellIn = 20 }; _rule.Apply(backStagePass); Assert.That(backStagePass.Quality, Is.EqualTo(_quality + 1)); }
public void SingleRunOfUpdateQuantity() { ItemManager.UpdateQuality(); dexterityVest = new DexterityVest("+5 Dexterity Vest", 9, 19); agedBri = new AgedBrie("Aged Brie", 1, 1); elixirOfMongoose = new MongooseElixir("Elixir of the Mongoose", 4, 6); handOfRagnaros = new Sulfuras("Sulfuras, Hand of Ragnaros", 0, 80); backstagePass = new BackstagePass("Backstage passes to a TAFKAL80ETC concert", 14, 21); manaCake = new ManaCake("Conjured Mana Cake", 2, 5); Assert.AreEqual(6, ItemManager.Items.Count()); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(dexterityVest))); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(agedBri))); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(elixirOfMongoose))); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(handOfRagnaros))); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(backstagePass))); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(manaCake))); }
public void ThreeRunsOfUpdateQuantity() { ItemManager.InitializeInventory(); updateQuantityNTimes(3); dexterityVest = new DexterityVest("+5 Dexterity Vest", 7, 17); agedBri = new AgedBrie("Aged Brie", -1, 4); elixirOfMongoose = new MongooseElixir("Elixir of the Mongoose", 2, 4); handOfRagnaros = new Sulfuras("Sulfuras, Hand of Ragnaros", 0, 80); backstagePass = new BackstagePass("Backstage passes to a TAFKAL80ETC concert", 12, 23); manaCake = new ManaCake("Conjured Mana Cake", 0, 3); Assert.AreEqual(6, ItemManager.Items.Count()); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(dexterityVest))); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(agedBri))); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(elixirOfMongoose))); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(handOfRagnaros))); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(backstagePass))); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(manaCake))); }
public void BackstagePassIncreasesInValueByThreeFiveDaysBeforeEvent() { ItemManager.InitializeInventory(); updateQuantityNTimes(11); backstagePass = new BackstagePass("Backstage passes to a TAFKAL80ETC concert", 4, 38); Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(backstagePass))); updateQuantityNTimes(1); backstagePass.Quality += 3; backstagePass.SellIn -= 1; Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(backstagePass))); updateQuantityNTimes(1); backstagePass.Quality += 3; backstagePass.SellIn -= 1; Assert.IsNotNull(ItemManager.Items.FirstOrDefault(i => i.Equals(backstagePass))); }