public void CalculatorExecutionTest() { // Arrange ICanDiscountStrategy canDiscountStrategy = new DayOfWeekCanDiscountStrategy(DayOfWeek.Friday); ICalculateDiscountStrategy calculateDiscountStrategy = new PercentageCalculateDiscountStrategy(0.5m); IDiscountCalculator discountCalculator = new DiscountCalculator(canDiscountStrategy, calculateDiscountStrategy); Order order = CreateOrderWith1Product("2019-10-18", 1000); // Act Action act = () => discountCalculator.CalculateDiscount(order); // Asserts act .ExecutionTime() .Should() .BeLessOrEqualTo(500.Milliseconds()); }
private static DiscountCalculator CreateDiscountCalculator() { ICanDiscountStrategy canDiscountStrategy = new DayOfWeekCanDiscountStrategy(DayOfWeek.Friday); ICalculateDiscountStrategy calculateDiscountStrategy = new PercentageCalculateDiscountStrategy(0.5m); var discountCalculator = new DiscountCalculator(canDiscountStrategy, calculateDiscountStrategy); return(discountCalculator); }
public void PercentageDiscountCalculateStrategyTest( decimal unitPrice, decimal percentage, decimal expected) { // Arrange Order order = CreateOrderWith1Product("2019-10-17", unitPrice); ICalculateDiscountStrategy calculateDiscountStrategy = new PercentageCalculateDiscountStrategy(percentage); // Act decimal result = calculateDiscountStrategy.CalculateDiscount(order); // Assert result.Should().Be(expected, "jaki upust????"); // dotnet add package FluentAssertions }