public void test_discount_one_thousand_shades_of_grey() { var marketingCampaign = new MarketingCampaign( new MockDateTimeService( new DateTime(2020, 7, 1) ) ); var net = new Money(1002); var discount = DiscountFactory.Create(marketingCampaign, net); var total = discount.DiscountFor(net); Assert.Equal(new Money(901.8m), total); }
public void test_discount_crazy_sales_tonight_fun_radio() { var marketingCampaign = new MarketingCampaign( new MockDateTimeService( new DateTime(2020, 7, 3, 0, 0, 0, 2) ) ); var net = new Money(100); var discount = DiscountFactory.Create(marketingCampaign, net); var total = discount.DiscountFor(net); Assert.Equal(new Money(85m), total); }
public void test_no_discount_on_cheap_item() { var marketingCampaign = new MarketingCampaign( new MockDateTimeService( new DateTime(2020, 7, 1, 0, 0, 0, 2) ) ); var net = new Money(80); var discount = DiscountFactory.Create(marketingCampaign, net); var total = discount.DiscountFor(net); Assert.Equal(new Money(80m), total); }
public void test_discount_one_hundred_shades_of_pink() { var marketingCampaign = new MarketingCampaign( new MockDateTimeService( new DateTime(2020, 7, 1, 0, 0, 0, 2) ) ); var net = new Money(102); var discount = DiscountFactory.Create(marketingCampaign, net); var total = discount.DiscountFor(net); Assert.Equal(new Money(96.9m), total); }
/// <summary> /// Create a new instance of the class to perform discount calculation using DiscountType. /// </summary> /// <param name="type">The enum containing the type of discount to calculate.</param> public DiscountEngine(DiscountType type) { discount = DiscountFactory.Create(type); }