public void WhenICalculateTheDiscount() { var discountCalculator = new DiscountCalculatorFactory().Create(); var customer = ((Customer)ScenarioContext.Current["Customer"]); ScenarioContext.Current["Discount"] = discountCalculator.CalculateDiscount(customer); }
public void CalculateDiscount_ForCustomerOnBirthday_ShouldReturnForty() { var customer = new Customer { Birthdate = DateTime.UtcNow }; var discountCalculator = new DiscountCalculatorFactory().Create(); var result = discountCalculator.CalculateDiscount(customer); result.Should().Be(40); }
public void TestCalculateDiscountOnBirthday() { var customer = new Customer { Birthdate = DateTime.UtcNow }; var discountCalculator = new DiscountCalculatorFactory().Create(); var result = discountCalculator.CalculateDiscount(customer); Assert.AreEqual(40, result); }
static void Main(string[] args) { var vipCustomer = new VipCustomer(); var order = new Order() { Price = 1000 }; var discountService = DiscountCalculatorFactory.Create(vipCustomer); var finalPrice = discountService.Calculate(order); Console.WriteLine("You have to pay {0} dollars", finalPrice); Console.ReadLine(); }
public void CalculateDiscount_ForGoldMemberOlderThan40_ShouldReturn30() { var customer = new Customer { Birthdate = new DateTime(1940, 1, 1), IsGoldMember = true }; var calculator = new DiscountCalculatorFactory().Create(); var discount = calculator.CalculateDiscount(customer); discount.Should().Be(30); }
public void CalculateDiscount_ForNonGoldMemberOnBirthday_ShouldReturn40() { var customer = new Customer { Birthdate = DateTime.UtcNow, IsGoldMember = false }; var calculator = new DiscountCalculatorFactory().Create(); var discount = calculator.CalculateDiscount(customer); discount.Should().Be(40); }
public void CalculateDiscount_ForGoldMemberEmployeeOnBirthday_ShouldReturnForty() { var customer = new CustomerBuilder() .AsEmployee() .AsGoldMember() .WithBirthDate(DateTime.UtcNow) .Build(); var discountCalculator = new DiscountCalculatorFactory().Create(); var discount = discountCalculator.CalculateDiscount(customer); discount.Should().Be(40); }
public void CalculateDiscount_ForNonGoldMemberNotOnBirthday_ShouldReturn0() { var customer = new Customer { Birthdate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(10 * 365)), IsGoldMember = false, IsEmployee = false }; var calculator = new DiscountCalculatorFactory().Create(); var discount = calculator.CalculateDiscount(customer); discount.Should().Be(0); }
public void CalculateDiscount_ForGoldMemberYoungerThan40AndIsEmployee_ShouldReturn15() { var customer = new Customer { Birthdate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(10 * 365)), IsGoldMember = true, IsEmployee = true }; var calculator = new DiscountCalculatorFactory().Create(); var discount = calculator.CalculateDiscount(customer); discount.Should().Be(15); }
public IShoppingCartEngineBuilder AddDiscountCalculatorFactory(DiscountCalculatorFactory discountCalculatorFactory) { shoppingCartEngine.DiscountCalculatorFactory = discountCalculatorFactory; return(this); }