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(): IntTesting: In the tests package, write a test suite named TestCar that will test all the functionalities on the specsheetNote: Only call the API methods while testing. Other classes/methods/ variables you create will not exist inthe 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.
Already registered? Login
Not Account? Sign up
Enter your email address to reset your password
Back to Login? Click here