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.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
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
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education