public void GivenFrozenItem_WhenSellinPast0_QualityReduces2xFaster() { var item = new Item() { Name = "Frozen Item", Quality = 2, SellIn = -1 }; var rule = new FrozenItemUpdateRule(); rule.Update(item); item.Quality.Should().Be(0); }
public void GivenFrozenItem_WhenQualityAlready0_QualityIsNotNegative() { var item = new Item() { Name = "Frozen Item", Quality = 0, SellIn = 2 }; var rule = new FrozenItemUpdateRule(); rule.Update(item); item.Quality.Should().Be(0); }
public void GivenFrozenItem_WhenQualityMoreThan50_QualityResetTo50() { var item = new Item() { Name = "Frozen Item", Quality = 55, SellIn = 2 }; var rule = new FrozenItemUpdateRule(); rule.Update(item); item.Quality.Should().Be(50); }
public void GivenFrozenItem_WhenUpdated_QualityReducesBy1() { var item = new Item() { Name = "Frozen Item", Quality = 2, SellIn = 2 }; var rule = new FrozenItemUpdateRule(); rule.Update(item); item.Quality.Should().Be(1); }
public void GivenFrozenItem_SellIn2_Quality2_WhenUpdated_ThenFrozenItem_SellIn1_Quality1_Returned() { //GIVEN var items = new List <Item>() { new Item() { Name = "Frozen Item", SellIn = 2, Quality = 2 } }; var rule = new FrozenItemUpdateRule(); _inventoryManagementService = new InventoryManagementService(updateRule => rule); //WHEN var results = _inventoryManagementService.Update(items); //THEN var result = results.First(); result.Should().Be("Frozen Item 1 1"); }