public void GivenChristmasCrackers_WhenSellinPastChristmas_QualityZero() { var item = new Item() { Name = "Christmas Crackers", Quality = 2, SellIn = -1 }; var rule = new ChristmasCrackerUpdateRule(); rule.Update(item); item.Quality.Should().Be(0); }
public void GivenChristmasCrackers_WhenUpdated_SellinReducesByOne() { var item = new Item() { Name = "Christmas Crackers", Quality = 2, SellIn = 2 }; var rule = new ChristmasCrackerUpdateRule(); rule.Update(item); item.SellIn.Should().Be(1); }
public void GivenChristmasCrackers_WhenSellinBetween5And0Days_QualityIncreasesBy3() { var item = new Item() { Name = "Christmas Crackers", Quality = 2, SellIn = 3 }; var rule = new ChristmasCrackerUpdateRule(); rule.Update(item); item.Quality.Should().Be(5); }
GivenChristmasCrackers_SellIn9_Quality2_WhenUpdated_ThenChristmasCrackers_SellIn8_Quality4_Returned() { //GIVEN var items = new List <Item>() { new Item() { Name = "Christmas Crackers", SellIn = 9, Quality = 2 } }; var rule = new ChristmasCrackerUpdateRule(); _inventoryManagementService = new InventoryManagementService(updateRule => rule); //WHEN var results = _inventoryManagementService.Update(items); //THEN var result = results.First(); result.Should().Be("Christmas Crackers 8 4"); }