Skip to content

Commit

Permalink
refactor: update main method
Browse files Browse the repository at this point in the history
  • Loading branch information
akadir committed Sep 12, 2020
1 parent 9c0133a commit 882e5df
Showing 1 changed file with 24 additions and 5 deletions.
29 changes: 24 additions & 5 deletions src/main/java/io/github/akadir/casestudy/CaseStudy.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,32 @@
package io.github.akadir.casestudy;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import io.github.akadir.casestudy.discount.campaign.CategoryCampaign;
import io.github.akadir.casestudy.discount.campaign.base.Campaign;
import io.github.akadir.casestudy.discount.coupon.ConcreteCoupon;
import io.github.akadir.casestudy.discount.coupon.base.Coupon;
import io.github.akadir.casestudy.discount.enumeration.DiscountType;
import io.github.akadir.casestudy.product.model.Category;
import io.github.akadir.casestudy.product.model.Product;
import io.github.akadir.casestudy.shopping.service.ShoppingCartService;
import io.github.akadir.casestudy.shopping.service.impl.ConcreteShoppingCartServiceImpl;

public class CaseStudy {
private static final Logger log = LoggerFactory.getLogger(CaseStudy.class);

public static void main(String[] args) {
// TODO run required flow
log.info("Hello world!");
Category food = new Category("food");

Product apple = new Product("Apple", 100.0, food);
Product almond = new Product("Almonds", 150.0, food);

ShoppingCartService shoppingCartService = new ConcreteShoppingCartServiceImpl();

shoppingCartService.addProduct(apple);
shoppingCartService.addProduct(almond);

Campaign campaign = new CategoryCampaign(food, DiscountType.AMOUNT, 10);
Coupon coupon = new ConcreteCoupon(50.0, DiscountType.RATE, 10);

shoppingCartService.applyCampaign(campaign);
shoppingCartService.applyCoupon(coupon);
}
}

0 comments on commit 882e5df

Please sign in to comment.