示例#1
0
        public void RefactoredShouldRunOrchestrationIsCorrect(
            Product testProduct,
            decimal repoDiscount,
            decimal expectedDiscount,
            [Frozen] Mock <IDiscountRepository> repository,
            [Frozen] Mock <IDiscountStrategy> discountStrategy,
            RefactoredProductClass sut)
        {
            repository.Setup(x => x.GetDiscountForType(testProduct.DiscountType, testProduct.ProductType))
            .Returns(repoDiscount);
            discountStrategy.Setup(x => x.DiscountProduct(testProduct, repoDiscount))
            .Returns(expectedDiscount);

            var actual = sut.GetDiscountPrice(testProduct);

            Assert.Equal(expectedDiscount, actual);
        }