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.

Microsoft Visual C#
7th Edition
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Joyce, Farrell.
Chapter10: Introduction To Inheritance
Section: Chapter Questions
Problem 20RQ
icon
Related questions
Question

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.

Expert Solution
steps

Step by step

Solved in 5 steps

Blurred answer
Knowledge Booster
Unreferenced Objects
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,