To run the application:
mvn clean package -DskipTests
mvn exec:java
After this just follow the instructions. The output from the application is printed to the command line.
To run tests:
mvn clean test
Everything executes successfully on my mac - macOS Mojave 10.14.6. - Java version: 11.0.1. However there is no functionality used that is not present in JDK 8.
- Please fork this repository and work on your fork. https://help.github.com/en/articles/fork-a-repo
- Commit changes frequently so that we can review your progression with you later. https://crealytics.com/blog/5-reasons-keeping-git-commits-small/
- You should use a recognised build tool, e.g. gradle, maven...
- We are currently using open JDK 8u181. But please use the JDK you think is most appropriate to demonstrate your skillset.
- We don't expect 100% code coverage, we expect well tested code. https://medium.com/@nicklee1/why-test-code-coverage-targets-are-a-bad-idea-1b9b8ef711ef
- Any other tools or libraries used must be freely available. Any third-party jars must be accessible via maven central.
- The specification is below.
A local shop, Henry’s Grocery, has asked you to author an IT solution for them to price up a basket of shopping for their customers.
Henry’s Grocery, currently only stocks four items and has two promotions. These are as follows:
product | unit | cost |
---|---|---|
soup | tin | 0.65 |
bread | loaf | 0.80 |
milk | bottle | 1.30 |
apples | single | 0.10 |
the offer | valid from | valid to |
---|---|---|
Buy 2 tins of soup and get a loaf of bread half price | yesterday | for 7 days |
Apples have a 10% discount | from 3 days hence | until the end of the following month |
All basket items added via the command prompt.
All outputs must print to the command line.
- Price a basket containing: 3 tins of soup and 2 loaves of bread, bought today,
- Expected total cost = 3.15;
- Price a basket containing: 6 apples and a bottle of milk, bought today,
- Expected total cost = 1.90;
- Price a basket containing: 6 apples and a bottle of milk, bought in 5 days time,
- Expected total cost = 1.84;
- Price a basket containing: 3 apples, 2 tins of soup and a loaf of bread, bought in 5 days time,
- Expected total cost = 1.97.