Write Java classes that meet all requirements
2. Write JUnit tests to verify all requirements
3. DO NOT write any UI code, persistence code or authentication code
4. DO NOT make use of any framework or open source library other than JUnit
5. Readability and maintainability of your code is key
You have been selected by the United States Senate to create a Java solution for managing the voting on motions once debate has concluded on the senate floor.
The system you create must accept votes on a specified motion, tabulate Yeas and Nays and determine whether motions pass or fail.
No votes can be accepted upon a motion until it is opened for voting.
When a motion is closed for voting, a result is returned that describes
o whether the motion passed or failed
o the number of votes for and against
o the time that voting opened and closed
A motion cannot be closed for voting less than 15 minutes after it was opened.
No voter can vote more than once on the same motion.
The maximum votes that can be received on a motion is 101.
If voting is a tie, then an attempt to close the motion for voting will cause it to enter a special “tied” state.
o In the “tied” state, the Vice-president of the United States is the only person allowed to vote. Once the VP votes, the motion is automatically closed.
o The VP is not allowed to vote except when voting has entered the “tied” state.
o If the VP is not available to vote, then voting can be forced to the closed state which causes the motion to fail.
The system must support a query to discover the current state of a motion.
35 freelancers are bidding on average $163 for this job
Hi there, I do Java programming. I went through your requirements and I would like to do this project if given the opportunity. Let me know if you are interested.