Skip to content

Commit

Permalink
Add TaskListTest JUnit test
Browse files Browse the repository at this point in the history
  • Loading branch information
aslam341 committed Sep 1, 2023
1 parent 8f234be commit 9e76860
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 0 deletions.
Empty file added data/test.txt
Empty file.
4 changes: 4 additions & 0 deletions src/main/java/duke/Duke.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,8 @@ public void run() {
userInput = ui.readCommand();
}
}

public TaskList getTaskList() {
return taskList;
}
}
4 changes: 4 additions & 0 deletions src/main/java/duke/tasks/Task.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ public void unmark() {
this.isDone = false;
}

public boolean isDone() {
return this.isDone;
}

public String getStatusIcon() {
return (isDone ? "X" : " ");
}
Expand Down
57 changes: 57 additions & 0 deletions src/test/java/duke/tasks/TaskListTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package duke.tasks;

import duke.Duke;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class TaskListTest {
private Duke duke;

@BeforeEach
public void setUp() {
duke = new Duke("./data/test.txt"); // Use a test file path
}

@Test
public void testAddTask() {
Task task = new ToDoTask("Task");
duke.getTaskList().addTask(task);
ArrayList<Task> tasks = duke.getTaskList().getTasks();
assertEquals(1, tasks.size());
assertEquals(task, tasks.get(0));
}

@Test
public void testDeleteTask() {
Task task1 = new ToDoTask("Task1");
Task task2 = new ToDoTask("Task2");
duke.getTaskList().addTask(task1);
duke.getTaskList().addTask(task2);

duke.getTaskList().deleteTask(0);
ArrayList<Task> tasks = duke.getTaskList().getTasks();
assertEquals(1, tasks.size());
assertEquals(task2, tasks.get(0));
}

@Test
public void testMarkTaskAsDone() {
Task task = new ToDoTask("Task");
duke.getTaskList().addTask(task);
duke.getTaskList().markTaskAsDone(0);
ArrayList<Task> tasks = duke.getTaskList().getTasks();
assertEquals(true, tasks.get(0).isDone());
}

@Test
public void testUnmarkTask() {
Task task = new ToDoTask("Task");
duke.getTaskList().addTask(task);
duke.getTaskList().markTaskAsDone(0);
duke.getTaskList().unmarkTask(0);
ArrayList<Task> tasks = duke.getTaskList().getTasks();
assertEquals(false, tasks.get(0).isDone());
}
}

0 comments on commit 9e76860

Please sign in to comment.