Question: I'm running my code in Java Eclipse and noticing yellow and red highlights. Could you please help me understand the reasons behind these errors?

I'm running my code in Java Eclipse and noticing yellow and red highlights. Could you please help me understand the reasons behind these errors? 

 

Whenever I run the coverage as (JUnit) for the TaskTest it should to be 80% or higher, but instead mine is showing 75.1%

 

I am also having a little problem whenever I run the coverage as (JUnit) for TestServiceTest. I was able to get the coverage at 92.7%, which is good, but I do see a section the is highlighted yellow, do I need to worry about that section?

 

 

My Code

Task.java

 

package Task;

 

public class Task {

              private final String taskId;

                private String name;

                private String description;

 

                public Task(String taskId, String name, String description) {

                        // Validate length of task ID

                    if (taskId == null || taskId.length() > 10) {

                                                throw new IllegalArgumentException("ID cannot be longer than 10 characters");

                                    }

                    // Validate length of name

                    if (name == null || name.length() > 20) {

                                                throw new IllegalArgumentException("Name cannot be longer than 20 characters");

                                    }

 

                    // Validate length of description

                    if (description == null || description.length() > 50) {

                                                throw new IllegalArgumentException("Description cannot be longer than 50 characters");

                                    }

                    this.taskId = taskId;

                    this.name = name;

                    this.description = description;

                }

 

                public String getTaskId() {

                    return taskId;

                }

 

                public String getName() {

                    return name;

                }

 

                public void setName(String name) {

                        if (name == null || name.length() > 20) {

                                                throw new IllegalArgumentException("Name cannot be longer than 20 characters");

                                    }

                    this.name = name;

                }

 

                public String getDescription() {

                    return description;

                }

 

                public void setDescription(String description) {

                        if (description == null || description.length() > 50) {

                                                throw new IllegalArgumentException("Description cannot be longer than 50 characters");

                                    }

                    this.description = description;

                }

}

 

TaskService.java

 

package Task;

import java.util.HashMap;

import java.util.Map;

 

public class TaskService {

             private final Map taskMap = new HashMap();

 

                public void addTask(Task task) {

                    taskMap.put(task.getTaskId(), task);

                }

 

                public void deleteTask(String taskId) {

                    taskMap.remove(taskId);

                }

 

                public void updateTaskName(String taskId, String newName) {

                    Task task = taskMap.get(taskId);

                    if (task == null) {

                        throw new IllegalArgumentException("Task with ID " + taskId + " not found");

                    }

                        task.setName(newName); 

                }

 

                public void updateTaskDescription(String taskId, String newDescription) {

                    Task task = taskMap.get(taskId);

                    if (task == null) {

                        throw new IllegalArgumentException("Task with ID " + taskId + " not found");

                    }

                       task.setDescription(newDescription);

                }

 

                public Task getTaskById(String taskId) {

                    return taskMap.get(taskId);

                }

}

 

TaskTest.java

 

package test;

 

import static org.junit.jupiter.api.Assertions.*;

import static org.junit.jupiter.api.Assertions.assertThrows;

import Task.Task;

import org.junit.jupiter.api.Test;

 

class TaskTest {

 

             @Test

                void testTaskInitialization() {

                    Task task = new Task("1", "TaskName", "TaskDescription");

 

                    assertEquals("1", task.getTaskId());

                    assertEquals("TaskName", task.getName());

                   assertEquals("TaskDescription", task.getDescription());

                }

 

                @Test

                void testTaskNameUpdate() {

                    Task task = new Task("1", "TaskName", "TaskDescription");

                    task.setName("NewTaskName");

 

                    assertEquals("NewTaskName", task.getName());

                }

                @Test

                void testTaskDescriptionUpdate() {

                    Task task = new Task("1", "TaskName", "TaskDescription");

                   task.setDescription("NewTaskDescription");

 

                   assertEquals("NewTaskDescription", task.getDescription());

                }

 

                @Test

                void testGettersAndSetters() {

                        Task task = new Task("1", "InitialName", "InitialDescription");

                        task.setName("UpdatedName");

                        task.setDescription("UpdatedDescription");

                        assertEquals("UpdatedName", task.getName());

                        assertEquals("UpdatedDescription", task.getDescription());

                }

                @Test

                void testEdgeCasesForStringLength() {

                        String tenCharacters = "1234567890"; // 10 characters

                        String twentyCharacters = "12345678901234567890"; // 20 characters

                        String fiftyCharacters = "12345678901234567890123456789012345678901234567890"; // 50 characters

                        Task task = new Task(tenCharacters, twentyCharacters, fiftyCharacters);

                        assertEquals(tenCharacters, task.getTaskId());

                        assertEquals(twentyCharacters, task.getName());

                        assertEquals(fiftyCharacters, task.getDescription());

                }

                @Test

                void testTaskConstructorWithNullValues() {

                        assertThrows(IllegalArgumentException.class, () -> new Task(null, "ValidName", "ValidDescription"));

                        assertThrows(IllegalArgumentException.class, () -> new Task("1", null, "ValidDescription"));

                        assertThrows(IllegalArgumentException.class, () -> new Task("1", "ValidName", null));

                }

                @Test

                void testTaskConstructorWithLongValues() {

                        assertThrows(IllegalArgumentException.class, () -> new Task("12345678901", "ValidName", "ValidDescription"));

                        assertThrows(IllegalArgumentException.class, () -> new Task("1", "NameThatIsWayTooLongToBeValid", "ValidDescription"));

                        assertThrows(IllegalArgumentException.class, () -> new Task("1", "ValidName", "DescriptionThatIsWayTooLongToBeValidAndShouldThrowAnException"));

                }

 

}

 

 

TaskServiceTest.java

 

package test;

 

import static org.junit.jupiter.api.Assertions.*;

import static org.junit.jupiter.api.Assertions.assertThrows;

import Task.TaskService;

import Task.Task;

import org.junit.jupiter.api.Test;

 

class TaskServiceTest {

 

             @Test

                void testAddTask() {

                    TaskService taskService = new TaskService();

                    Task task = new Task("1", "TaskName", "TaskDescription");

 

                    taskService.addTask(task);

 

                    assertEquals(task, taskService.getTaskById("1"));

                }

 

                @Test

                void testDeleteTask() {

                    TaskService taskService = new TaskService();

                    Task task = new Task("1", "TaskName", "TaskDescription");

                    taskService.addTask(task);

 

                    taskService.deleteTask("1");

 

                   assertNull(taskService.getTaskById("1"));

                }

               

                @Test

                void testDeleteNonExistentTask() {

                        TaskService taskService = new TaskService();

                        taskService.deleteTask("nonExistentId"); // assuming no exception is thrown for deleting a non-existent task

                        assertNull(taskService.getTaskById("nonExistentId"));

                }

               

                @Test

                void testUpdateTaskName() {

                    TaskService taskService = new TaskService();

                    Task task = new Task("1", "TaskName", "TaskDescription");

                    taskService.addTask(task);

 

                   taskService.updateTaskName("1", "NewTaskName");

 

                    assertEquals("NewTaskName", taskService.getTaskById("1").getName());

                }

 

                @Test

                void testUpdateTaskDescription() {

                    TaskService taskService = new TaskService();

                    Task task = new Task("1", "TaskName", "TaskDescription");

                    taskService.addTask(task);

 

                   taskService.updateTaskDescription("1", "NewTaskDescription");

 

                   assertEquals("NewTaskDescription", taskService.getTaskById("1").getDescription());

                }

               

                @Test

                void testUpdateTaskNameForNonExistentID() {

                        TaskService taskService = new TaskService();

                        assertThrows(IllegalArgumentException.class, () -> taskService.updateTaskName("nonExistentId", "NewName"));

                }

               

                @Test

                void testUpdateTaskDescriptionForNonExistentID() {

                        TaskService taskService = new TaskService();

                        assertThrows(IllegalArgumentException.class, () -> taskService.updateTaskDescription("nonExistentId", "NewDescription"));

                }

 

 

}

 

 

After Running Coverage As (JUnit) for TaskTest.java:

Task.java 3 TaskService.java 3 public class Task ( 12 13 16 17 18 20 21 22 23 24 25 26 27 28 30 316 32 private final String taskId: private String name: private String description; Task Test.java public Task (String taskid, String name, String description) { // Validate 
 length of task ID if (taskId = null || taskid.length() > 10) 

TaskTest.Java

{ throw new IllegalArgumentException ("ID cannot be longer than 10 characters"); }

After Running the Coverage As (JUnit) for TestServiceTest.java:

} } // Validate length of name if (name == null || 

name.length() > 20) { throw new IllegalArgumentException ("Name cannot be longer than  20 characters"); } TaskServiceTest.java // Validate length of description if (description = null II description.length() > 50) { throw new IllegalArgumentException ("Description cannot be longer than 50 characters"); public String getTaskId() { return taskid; this.taskId = 

TestServiceTest.java

taskId: this.name name; this.description description; public String getName() { return name; 

Task.java 3 TaskService.java 3 public class Task ( 12 13 16 17 18 20 21 22 23 24 25 26 27 28 30 316 32 private final String taskId: private String name: private String description; Task Test.java public Task (String taskid, String name, String description) { // Validate length of task ID if (taskId = null || taskid.length() > 10) { throw new IllegalArgumentException ("ID cannot be longer than 10 characters"); } } } // Validate length of name if (name == null || name.length() > 20) { throw new IllegalArgumentException ("Name cannot be longer than 20 characters"); } TaskServiceTest.java // Validate length of description if (description = null II description.length() > 50) { throw new IllegalArgumentException ("Description cannot be longer than 50 characters"); public String getTaskId() { return taskid; this.taskId = taskId: this.name name; this.description description; public String getName() { return name;

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Algorithms Questions!