Lecture Question • Simulate a Car without using control flow (ie. Use the state pattern). • In a package named lecture15, create a Class named Car with no constructor parameters. • The Car must...


Lecture Question
• Simulate a Car without using control flow (ie. Use the state pattern).
• In a package named lecture15, create a Class named Car with no constructor parameters.
• The Car must contain the following methods as its API:
• shiftToDrive(): Unit
• shiftToPark():Unit
• shiftToReverse():Unit
• accelerate(): Unit
• brake(): Unit
• velocity(): Int
Testing: In the tests package, write a test suite named TestCar that will test all the functionalities on the spec
sheet
Note: Only call the API methods while testing. Other classes/methods/ variables you create will not exist in
the grader submissions
• Car is initially in Park.
• Initial velocity is 0.
• When the Car is in Park:
• Accelerating and braking have no effect.
• The car can shift into drive or reverse.
• When the car is in Drive:
• Calling accelerate will increase the velocity of the car by 10…
• Calling brake will completely stop the car (velocity of 0).
• The car cannot shift into Reverse.
• The car cannot shift into Park while moving.
• When the car is in Reverse:
• Calling accelerate will decrease the velocity of the car by 5 (negative velocity).
• Calling brake will completely stop the car (velocity of 0).
• The car cannot shift into Drive.
• The car cannot shift into Park while moving.



Jun 06, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here