in the given problem, following are the doubts
- at one point the problem definition says, minumum 2 promotion type should be applied in order to calculate the order total
- other side, the problem definition says, promotions are mutually exclusive meaning if one promotion is applied the other promotion will not apply
- but in the test case, it applies all the eligible promotions meaning all three promotions at a time
and I really wanted to go as per SOLID principles and also to apply the Decorator Pattern. But due to time concern, i had to violate things in the Price Calculator class. :(