示例#1
0
        public void DoubleChangeWhenSellInIsLessZero()
        {
            var testRule = new DecreasingDeprecationRule
            {
                FirstApplicableDay = int.MaxValue,
                Amount             = 2
            };

            var testStock = new StockItem
            {
                StockTypeId = "Stock 1",
                SellIn      = -1,
                Quality     = 5
            };

            var service = new DecreasingDeprecationRuleService();
            var result  = service.RunRule(testRule, testStock);

            Assert.True(result);
            Assert.Equal(1, testStock.Quality);
        }
示例#2
0
        public void DecreasesQualityWhenSellInIsLessThanFirstApplicableDay()
        {
            var testRule = new DecreasingDeprecationRule
            {
                FirstApplicableDay = 3,
                Amount             = 2
            };

            var testStock = new StockItem
            {
                StockTypeId = "Stock 1",
                SellIn      = 2,
                Quality     = 5
            };

            var service = new DecreasingDeprecationRuleService();
            var result  = service.RunRule(testRule, testStock);

            Assert.True(result);
            Assert.Equal(3, testStock.Quality);
        }
示例#3
0
        public void NoChangeWhenSellInIsGreaterThanFirstApplicableDay()
        {
            var testRule = new DecreasingDeprecationRule
            {
                FirstApplicableDay = 3,
                Amount             = 2
            };

            var testStock = new StockItem
            {
                StockTypeId = "Stock 1",
                SellIn      = 4,
                Quality     = 5
            };

            var service = new DecreasingDeprecationRuleService();
            var result  = service.RunRule(testRule, testStock);

            Assert.False(result);
            Assert.Equal(5, testStock.Quality);
        }