Beispiel #1
0
        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);
        }
Beispiel #2
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);
        }
Beispiel #3
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);
        }
Beispiel #4
0
        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");
        }