BYTE-CEPS is a CLI-based tool for setting and tracking fitness goals. The user interacts with the tool using commands entered via the CLI interface. With BYTE-CEPS, they can compile a list of exercises, build custom workouts, assign workouts to a weekly schedule and log details of each exercise completed in each performed workout.
help
alone.validators
package & its accompanying classes: Ensures our classes within the processing package follow the single responsibility principle (SRP).
Validator
-type class parses the inputs provided for the methods in its corresponding Manager
class, checking input validity according to conditional statements and throwing exceptions if invalid.Manager
-type classes, thus ensuring they have a single responsibility, which is user command execution.Validator
-type class was public and corresponded to a Manager
method by which it was called to parse & validate input, before the Manager
method executed its task.
pqienso significantly improved said package by changing each Validator
-type class to have only one public method, which is called from the Validator
-type class execute()
method. This public Validator
method calls another private method that validates input for the specific private Manager
method that execute()
has called to execute the user’s command.Storage
methods: 75% of methods within Storage
are covered.
StorageTest
class and the helper methods for file handling. joshualeejunyi wrote setup()
, setUpStreams()
and restoreStreams()
, which are integral to the functioning of the test methods.ExerciseManager
method for editing an exercise:
HelpMenuManager
and HelpValidator
methods: 87% of methods within HelpMenuManager
and 100% within HelpValidator
are covered.
setup()
, setUpStreams()
and restoreStreams()
methods.equals()
method used by ExerciseLog
, which was the bug’s cause.HashSet
class was causing incorrect ordering in exercise & workout lists, so I implemented a fix by using the LinkedHashSet
class instead.week
(now called program
).help
command sequence diagram:
help /FLAG
command sequence diagram:
help /FLAG PARAMETER
command sequence diagram: