Create a Java program that simulates a simple student grade management system using a list and a custom class. The system should be able to store a student's name, ID, and their grades for multiple subjects (use a HashMap<String, Integer>, grade by subject name). It should also be able to perform the following operations:
- Add a student to the list.
- Add student grades.
- Remove a student from the list.
- Update a student's information.
- Calculate the average grade of a student.
- Display the list of students.
Add minimal unit tests for the first 4 operations.
Create a Java program that simulates a unique vehicle registry system using a Set and a custom class. The system should be able to store a vehicle's VIN (Vehicle Identification Number), license plate, make, model, and year. Since the VIN is a unique identifier for each vehicle, the system should not allow duplicate entries based on the VIN (hint: equals() and hashCode()). It should be able to perform the following operations:
- Add a vehicle to the registry (if it doesn't already exist).
- Remove a vehicle from the registry using the VIN.
- Check if a vehicle with a given VIN is in the registry.
- Display the list of vehicles in the registry.
Add minimal unit tests for the first 3 operations.
Given the UML class diagram above, implement the corresponding Java program. The application's interface should be implemented as a console based menu. Read the notes from the diagram to understand the requirements.
Note 1: Constructors and setter\getter methods are not represented in the diagram but can\should be implemented."
Note 2: You can add any extra methods if required.
Note 3: Implement unit tests for the main operations.
