A Coding Assessment for potential professional opportunities
Car Comparision - Create a tool based on this sample data that will give the following:
| Make | Model | Color | Year | Price | TCC Rating | Hwy MPG |
|---|---|---|---|---|---|---|
| Honda | CRV | Green | 2016 | $23,845 | 8 | 33 |
| Ford | Escape | Red | 2017 | $23,590 | 7.8 | 32 |
| Hyundai | Sante Fe | Grey | 2016 | $24,950 | 8 | 27 |
| Mazda | CX-5 | Red | 2017 | $21,795 | 8 | 35 |
| Subura | Forester | Blue | 2016 | $22,395 | 8.4 | 32 |
- A function to calculate the newest vehicles in order
- A function to calculate an alphabetized List of vehicles
- A function to calculate an ordered List of Vehicles by Price
- A function to calculate the best value
- A function to calculate fuel consumption for a given distance
- A function to return a random car from the list
- A function to return average MPG by year
The CarComparisonTool library is hosted publically for review at https://github.com/JamesHesterJr/car-comparison-tool
This solution was written with assessment and demonstration in mind. The decisions made were meant to be demonstrative of certain concepts, ideas, and capabilities. This solution is meant to act as a simple library, but could fairly easily be developed into a command line tool (console application) to demonstrate further comprehension of architecture, Behavior Driven Development (with Cucumber), Data formats (json, xml, mysql, csv), among countless other material.
For a directed demonstration, or explanation of the solution, please request via email.
To run tests use the included gradle task gradle test
To keep it small and simple, the only dependencies are java (obviously), gradle build tool, and junit.
Java:
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
Gradle:
Gradle 4.9
Build time: 2018-07-16 08:14:03 UTC
Revision: efcf8c1cf533b03c70f394f270f46a174c738efc
All code and content written by James Hester Jr. Any questions or comments, please email at himself@jameshesterj.com