package letzplay.core; import letzplay.core.Quest; import letzplay.core.Task; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; class QuestTest { private String title = "title"; private String description = "description"; private String trigger = "trg"; @Test public void testQuestCreation() { Quest q = new Quest(title, description, 0, 100); assertEquals(q.getDescription(), description); assertEquals(q.getTitle(), title); assertEquals(q.getTaskList().size(), 0); assertEquals(q.progression().of, 0); assertEquals(q.progression().done, 0); assertEquals(q.getGainExp(), 100); assertEquals(q.getMinLvl(), 0); } @Test public void testAddTask() { Quest q = new Quest(title, description, 0, 100); Task task = new Task(title, description, trigger); q.addTask(task); assertEquals(q.getTaskList().size(), 1); assertEquals(q.progression().done, 0); assertEquals(q.progression().of, 1); assertEquals(q.getTaskList().get(0), task); } @Test public void testAddTaskList() { Quest q = new Quest(title, description, 0, 100); Task task1 = new Task(title + 1, description, trigger + 1); Task task2 = new Task(title + 2, description, trigger + 2); Task task3 = new Task(title + 3, description, trigger + 3); List list = new ArrayList<>(); list.add(task1); list.add(task2); list.add(task3); q.addTask(list); assertEquals(q.getTaskList().size(), 3); assertEquals(q.progression().done, 0); assertEquals(q.progression().of, 3); } @Test public void testCompleteTask() { Quest q = new Quest(title, description, 0, 100); Task task = new Task(title, description, trigger); q.addTask(task); q.trigger("trg"); assertEquals(q.progression().done, 1); assertEquals(q.progression().of, 1); assertTrue(q.getTaskList().get(0).isDone()); } }