Exemplo n.º 1
0
        public void CalculateDiscountToApply_LessThanQualifyingQuantity_NoDiscount()
        {
            var mockStockItem = new Mock <IStockItem>();

            mockStockItem.Setup(m => m.UnitPrice).Returns(20m);
            var promotion = new FixedPricePromotion(qualifyingQuantity: 3, price: 40);

            var result = promotion.CalculateDiscountToApply(mockStockItem.Object, 2);

            Assert.That(result, Is.EqualTo(0m));
        }
        public static void Price_VariousScenarios_PriceComputedCorrectly(int quantity, decimal rate, decimal expectedUnitPrice, string expectedItemId)
        {
            // Arrange
            var promotion = new FixedPricePromotion(expectedItemId, quantity, rate);

            // Act
            var actualPrice     = promotion.Price;
            var actualUnitPrice = promotion.UnitPrice;
            var actualItemId    = promotion.ItemId;

            //Assert
            Assert.That(actualPrice, Is.EqualTo(rate));
            Assert.That(actualUnitPrice, Is.EqualTo(expectedUnitPrice));
            Assert.That(actualItemId, Is.EqualTo(expectedItemId));
        }