public void GivenFreshItem_WhenSellinPast0_QualityReduces2xFaster() { var item = new Item() { Name = "Fresh Item", Quality = 4, SellIn = -1 }; var rule = new FreshItemUpdateRule(); rule.Update(item); item.Quality.Should().Be(0); }
public void GivenFreshItem_WhenQualityAlready0_QualityIsNotNegative() { var item = new Item() { Name = "Fresh Item", Quality = 0, SellIn = 2 }; var rule = new FreshItemUpdateRule(); rule.Update(item); item.Quality.Should().Be(0); }
public void GivenFreshItem_WhenQualityMoreThan50_QualityResetTo50() { var item = new Item() { Name = "Fresh Item", Quality = 55, SellIn = 2 }; var rule = new FreshItemUpdateRule(); rule.Update(item); item.Quality.Should().Be(50); }
public void GivenFreshItem_WhenUpdated_QualityReducesBy2() { var item = new Item() { Name = "Fresh Item", Quality = 2, SellIn = 2 }; var rule = new FreshItemUpdateRule(); rule.Update(item); item.Quality.Should().Be(0); }
public void GivenFreshItem_SellInMinus1_Quality5_WhenUpdated_ThenFreshItem_SellInMinus2_Quality1_Returned() { //GIVEN var items = new List <Item>() { new Item() { Name = "Fresh Item", SellIn = -1, Quality = 5 } }; var rule = new FreshItemUpdateRule(); _inventoryManagementService = new InventoryManagementService(updateRule => rule); //WHEN var results = _inventoryManagementService.Update(items); //THEN var result = results.First(); result.Should().Be("Fresh Item -2 1"); }