At the end of this specific task, students should be able to:

• Handle and manipulate strings
• Create and work with Arrays
You will now add the final features to your app , write and automate the unit tests and submit
your final project. Extend your application to allow for the following:
1. Users should be able to use to populate the following arrays:
Array Contents
Developer Contains the names of all the developers
assigned to tasks
Task Names Contains the names of all the created tasks
Task ID Contains the generated taskID’s for all tasks
Task Duration Contains the Duration of all tasks
Task Status Contains the Status of all tasks
2. Users should be able to use these arrays to:
a. Display the Developer, Task Names and Task Duration for all tasks with the status of
done.
b. Display the Developer and Duration of the class with the longest duration.
c. Search for a task with a Task Name and display the Task Name, Developer and Task
Status.
d. Search for all tasks assigned to a developer and display the Task Name and Task
Status.
e. Delete a task using the Task Name.
f. Display a report that lists the full details of all captured tasks.
3. Use the following test Data for your unit tests and to populate your arrays:
Test Data Task 1
Developer Mike Smith
Task Name Create Login
Task Duration 5
Task Status To Do
Test Data Task 2
Developer Edward Harrison
Task Name Create Add Features
Task Duration 8
Task Status Doing
Test Data Task 3
Developer Samantha Paulson
Task Name Create Reports
Task Duration 2
Task Status Done
Test Data Task 4
Developer Glenda Oberholzer
Task Name Add Arrays
Task Duration 11
Task Status To Do
4. Create the following unit tests:
Test: (assertEquals) Test Data and expected system responses.
Developer array correctly populated:
The developer array contains the expected
test data.
Test Data: Developer entry for Test data for
tasks 1-4
The system returns:
"Mike Smith", "Edward Harrington"
, "Samantha Paulson", "Glenda Oberholzer"
Display Developer and Duration for task with
longest duration.
Test Data: Task 1-4
The system returns:
“Glenda Oberholzer, 11;
Search for tasks Test Data: “Create Login
The system returns:
“ Mike Smith, Create Login”
Search all tasks assigned to Developer Test Data: Samantha Paulson
The system returns:
Create Reports
Delete Task from array Test Data: "Create Reports"
The system returns:
Entry “Create reports” successfully deleted
Display Report
The system returns:

Full details of all captured tasks in a formatted report

To complete the final features of your app and automate the unit tests, follow the steps below:

1. Create the necessary arrays to store the task-related information:
- Developer: This array will contain the names of all the developers assigned to tasks.
- Task Names: This array will store the names of all the created tasks.
- Task ID: This array will store the generated task IDs for all tasks.
- Task Duration: This array will store the duration of each task.
- Task Status: This array will store the status of each task.

2. Implement the following functionality using the arrays:
a. Display the Developer, Task Names, and Task Duration for all tasks with the status "done".
b. Display the Developer and Duration of the task with the longest duration.
c. Search for a task by its name and display the Task Name, Developer, and Task Status.
d. Search for all tasks assigned to a specific developer and display the Task Name and Task Status.
e. Delete a task by its Task Name.
f. Display a report that lists the full details of all captured tasks.

3. Use the provided test data to populate the arrays and use it for your unit tests:
Test Data Task 1:
- Developer: Mike Smith
- Task Name: Create Login
- Task Duration: 5
- Task Status: To Do

Test Data Task 2:
- Developer: Edward Harrison
- Task Name: Create Add Features
- Task Duration: 8
- Task Status: Doing

Test Data Task 3:
- Developer: Samantha Paulson
- Task Name: Create Reports
- Task Duration: 2
- Task Status: Done

Test Data Task 4:
- Developer: Glenda Oberholzer
- Task Name: Add Arrays
- Task Duration: 11
- Task Status: To Do

4. Create the following unit tests:
a. Test that the developer array is correctly populated with the test data: On comparing the developer array with the expected test data, it should return "Mike Smith", "Edward Harrison", "Samantha Paulson", "Glenda Oberholzer".
b. Test the functionality to display the Developer and Duration for the task with the longest duration: On comparing the Task 1-4 data, it should return "Glenda Oberholzer" and "11".
c. Test the task search functionality using the test data "Create Login": On searching for "Create Login", it should return "Mike Smith" and "Create Login".
d. Test the functionality to search for all tasks assigned to Samantha Paulson: On searching for Samantha Paulson, it should return "Create Reports".
e. Test the task deletion functionality using the test data "Create Reports": On deleting "Create Reports", it should return a success message: "Entry 'Create Reports' successfully deleted".
f. Test the report display functionality: The system should display the full details of all captured tasks.

By following these steps and implementing the necessary code, you will be able to add the final features, write the unit tests, and automate the testing process for your project.