letzplay/src/test/java/letzplay/core/QuestTest.java

77 lines
2.2 KiB
Java

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<Task> 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());
}
}