Qory- Pull Request for Independent Challenge #1 #16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Iteration 1 - Passenger Class Implementation
Overview
In Iteration 1, I implemented the
Passenger
class, which represents passengers in the park's vehicles. The class includes methods to track each passenger's age, determine if they are an adult, and track whether they are a driver.Key Features Implemented
Passenger Class:
name
andage
attributes.Key Methods:
initialize
: Initializes aPassenger
object withname
andage
.adult?
: Returns whether the passenger is an adult (18 or older).driver?
: Returns whether the passenger is currently a driver.drive
: Marks the passenger as a driver.Test Coverage
Passenger
class:name
andage
.Challenges
adult?
method correctly identifies passengers who are 18 or older.Fixes
adult?
method to accurately returntrue
only for passengers 18 and older.Reflection
Passenger
class with all requested features and behavior.Iteration 2 - Vehicle Class Implementation
Overview
In this iteration, I implemented the
Vehicle
class, which represents a vehicle with passengers and tracks whether it is speeding. The class includes methods to add passengers, check speeding status, and count adult passengers.Key Features Implemented
Vehicle Class:
year
,make
, andmodel
attributes.Key Methods:
initialize
: Initializes the vehicle withyear
,make
, andmodel
, and defaults forspeeding
andpassengers
.speeding?
: Returns whether the vehicle is speeding.speed
: Sets the vehicle to speeding.add_passenger
: Adds a passenger to the vehicle.num_adults
: Returns the number of adult passengers in the vehicle.Test Coverage
Vehicle
class behaves as expected:Challenges
nil
values foryear
).Fixes
speeding?
method reflects the vehicle’s true speeding status after calling thespeed
method.Reflection
Vehicle
class using TDD.Iteration 3 & 4 - Park Class Implementation and Enhancements
Overview
In Iteration 3 and 4, I implemented the
Park
class, which manages vehicles entering the park, tracks passengers, and calculates revenue based on adult passengers. Additionally, I enhanced the park's functionality to list all attendees, minors, and adults, all sorted alphabetically.Key Features Implemented
Iteration 3:
Park Class:
name
andadmission_price
.Key Methods:
initialize
: Initializes the park withname
,admission_price
, and an emptyvehicles
array.add_vehicle
: Adds a vehicle to the park.passengers
: Returns a list of all passengers from the vehicles in the park.revenue
: Calculates revenue based on the number of adult passengers and the admission price.Iteration 4:
all_attendees
: Returns a list of names of all attendees (passengers) sorted alphabetically.minors
: Returns a sorted list of minors (passengers under 18) in the park.adults
: Returns a sorted list of adults (passengers 18 and older) in the park.Test Coverage
Park
class:Challenges
Fixes
Reflection
Park
class functionality with all requested features and enhancements.