-
Notifications
You must be signed in to change notification settings - Fork 1
rmanch/BillingSystem
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Problem Statement: On a retail website, the following discounts apply: 1. If the user is an employee of the store, he gets a 30% discount 2. If the user is an affiliate of the store, he gets a 10% discount 3. If the user has been a customer for over 2 years, he gets a 5% discount. 4. For every $100 on the bill, there would be a $ 5 discount (e.g. for $ 990, you get $ 45 as a discount). 5. The percentage based discounts do not apply on groceries. 6. A user can get only one of the percentage based discounts on a bill. Write a program with test cases such that given a bill, it finds the net payable amount. Please note the stress is on object oriented approach and test coverage. ====================================================================================== Solution: Classes Hierarchy*: Discount DiscountDecorator* BillingDiscount EmployeeDiscount AffiliateDiscount LoyalCustomerDiscount --------------------------------------------------------------------------------------- User(Discount) RegularCustomer LoyalCustomer Employee Affiliate (BillingDiscount) (LoyalCustomerDiscount) (EmployeeDiscount) (AffiliateDiscount) ========================================================================================= * Read Javadocs for details around the purpose of each class. ** The class files are not required in VCS.
About
BillingSystem
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published