package project; import hhn.temp.project.Main; import hhn.temp.project.Task; import hhn.temp.project.TaskManager; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; public class BadCaseTaskTest { private TaskManager taskManager; @BeforeEach public void setup() { Main main = new Main(); taskManager = new TaskManager(); } @Test @DisplayName("Assert an IllegalArgumentException when you create a new Task with no or wrong Name, Description") public void assertExceptionOnCreateNewTask() { assertThrows(IllegalArgumentException.class,() -> taskManager.createTask("", null)); assertThrows(IllegalArgumentException.class,() -> taskManager.createTask(null, "")); assertThrows(IllegalArgumentException.class,() -> taskManager.createTask(null, null)); assertThrows(IllegalArgumentException.class,() -> taskManager.createTask("", "")); assertThrows(IllegalArgumentException.class,() -> taskManager.createTask("test", "")); assertThrows(IllegalArgumentException.class,() -> taskManager.createTask("", "test")); } @Test @DisplayName("Assert an IllegalArgumentException when you edit a exits Task") public void assertExceptionOnEditATask() { String name = "Name"; String description = "Description"; Task task = taskManager.createTask(name, description); assertThrows(IllegalArgumentException.class, () -> task.setDescription(null)); assertThrows(IllegalArgumentException.class, () -> task.setDescription("")); assertThrows(IllegalArgumentException.class, () -> task.setStatus(null)); } @Test @DisplayName("Assert an IllegalArgumentException when calling a non-Existing Task") public void assertExceptionOnCallingANonextistingTask (){ String name = " Manager"; assertThrows(IllegalArgumentException.class, () -> !name.equals(taskManager.getName())); } }