You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A small command-line utility to apply certain promotional campaigns to give discounts. The system needs to be flexible regarding the promotional rules.
Product code
Name
Price
001
Curry Sauce
1.95 €
002
Pizza
5.99 €
003
Men’s T-Shirt
25.00 €
If you spend over €30, you get 10% off your purchase.
If you buy 2 or more pizzas, the price for each drops to €3.99.
Items in basket
Total price
002,001,002,003
31.44 €
How it works?
5.99+1.95+5.99+25.00
= 38.93
38.93−(5.99−3.99)×2
= 34.93
34.93−(34.93×10)÷100
= 31.437
round(31.437, 2)
= 31.44
Test Cases
Items in basket
Total price
001,002,003
29.65 €
002,001,002
9.93 €
002,001,002,003
31.44 €
Prerequisites
composer
php (>=8.4)
Installation and Run the script
All the code required to get started
Need write permission to following directory
./var/logs
Install the script
$ cd /path/to/base/directory
$ composer install --no-dev
Run the script and sample output
$ php index.php
€31.44
Running the tests
Follow Install instructions.
Adapt phpunit.xml.dist PHP Constant according to your setup environment.
$ cd /path/to/base/directory
$ composer update
$ ./vendor/bin/phpunit tests