package hhn.temp.project; 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 BadCasesTest { AssignmentManager manager; @BeforeEach public void setup() { manager = new AssignmentManager(); } @Test @DisplayName("Assert that added tasks can't be Null") public void assertNewTasksAreNotNull() { int workerId = manager.createWorker("Alfred"); assertThrows(IllegalArgumentException.class, () -> manager.addTask(workerId, null, null)); } @Test @DisplayName("Assert List isn't empty after adding a task") public void assertListNowEmptyAfterAdd() { int workerId = manager.createWorker("Alfred"); int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles"); assertFalse(manager.getTaskMap().isEmpty()); } @Test @DisplayName("Assert only existing tasks can be edited") public void assertEditOnlyExistingTasks() { int workerId = manager.createWorker("Alfred"); assertThrows(IllegalArgumentException.class, () -> manager.editTask(workerId, 99969, "I", "am Illegal")); assertThrows(IllegalArgumentException.class, () -> manager.editTask(22200, 99969, "I", "am Illegal")); } @Test @DisplayName("Assert Add Task is programmed defensively") public void assertAddTaskOnlyAcceptsValidParameters() { int workerId = manager.createWorker("Alfred"); assertThrows(IllegalArgumentException.class, () -> manager.addTask( 20203,"I", "am Illegal")); assertThrows(IllegalArgumentException.class, () -> manager.addTask( workerId,null, null)); } @Test @DisplayName("Assert that Remove Task is programmed defensively") public void assertRemoveTaskOnlyAcceptsValidParameters() { assertThrows(IllegalArgumentException.class, () -> manager.removeTask(20320)); } @Test @DisplayName("Assert that un-/finishing a Task only works with valid parameters") public void assertTaskStateChangesOnlyAcceptsValidParameters() { assertThrows(IllegalArgumentException.class, () -> manager.finishTask(20405, 21034)); assertThrows(IllegalArgumentException.class, () -> manager.unfinishTask(20405, 21034)); } }