Java Classes Refactoring/Maintainence/improvement with Junit Testing

Job ID: 32155406

Budget: $10 – $30 USD

3 Clients with Different combination of Vehicle parts want to buy Vehicle.
Clients must have customization options to choose feature or parts or default option also:
Current code does not allow them to choose combination of feature/parts.
Requires Constructors with all Combinations of parameters.
Requirements are:
1.Best Design Pattern to implement
2.Junit Test cases
3.Code modification to improve it
4.Code smells discovered
5.Explanation - How to solve the problem ?