Small commit while writing tests

This commit is contained in:
2025-12-03 20:33:11 +01:00
parent 0db43fe51a
commit 7201f66214
4 changed files with 67 additions and 0 deletions

View File

@@ -10,12 +10,15 @@ public class AssignmentManager {
Map<Integer, Task> taskMap; Map<Integer, Task> taskMap;
int workerIdCounter; int workerIdCounter;
int taskIdCounter; int taskIdCounter;
UserCommands userInterface;
public AssignmentManager() { public AssignmentManager() {
workerMap = new HashMap<>(); workerMap = new HashMap<>();
taskMap = new HashMap<>(); taskMap = new HashMap<>();
int workerIdCounter = 1000; int workerIdCounter = 1000;
int taskIdCounter = 0; int taskIdCounter = 0;
userInterface = new UserCommands();
userInterface.start();
} }
public int createWorker(String name) { public int createWorker(String name) {

View File

@@ -0,0 +1,9 @@
package hhn.temp.project;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
AssignmentManager manager = new AssignmentManager();
}
}

View File

@@ -0,0 +1,20 @@
package hhn.temp.project;
import java.util.Scanner;
public class UserCommands {
public void start() {
boolean close = false;
Scanner scanner = new Scanner(System.in);
while (!close) {
System.out.println("Type '?' or 'help' for a list of commands");
System.out.println("Please enter a command:");
String input = scanner.nextLine();
handleInput(input);
}
scanner.close();
}
public void handleInput(String input) {
}
}

View File

@@ -13,6 +13,7 @@ public class GoodCasesTest {
public void setup() { public void setup() {
manager = new AssignmentManager(); manager = new AssignmentManager();
} }
@Test @Test
@DisplayName("Assert that a Worker can add a Task") @DisplayName("Assert that a Worker can add a Task")
public void assertWorkerCanAddTask() { public void assertWorkerCanAddTask() {
@@ -30,6 +31,7 @@ public class GoodCasesTest {
int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles"); int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles");
assertEquals(sizeCount + 1, manager.getTaskMap().size()); assertEquals(sizeCount + 1, manager.getTaskMap().size());
} }
@Test @Test
@DisplayName("Assert existing Tasks can be edited") @DisplayName("Assert existing Tasks can be edited")
public void assertExistingTasksCanBeEdited() { public void assertExistingTasksCanBeEdited() {
@@ -50,6 +52,7 @@ public class GoodCasesTest {
manager.removeTask(taskId); manager.removeTask(taskId);
assertEquals(sizeCount, manager.getTaskMap().size()); assertEquals(sizeCount, manager.getTaskMap().size());
} }
@Test @Test
@DisplayName("Assert deleted Tasks no longer show up in the List") @DisplayName("Assert deleted Tasks no longer show up in the List")
public void assertDeletedTasksDisappear() { public void assertDeletedTasksDisappear() {
@@ -58,6 +61,7 @@ public class GoodCasesTest {
manager.removeTask(taskId); manager.removeTask(taskId);
assertThrows(IllegalArgumentException.class, () -> manager.getTask(taskId)); assertThrows(IllegalArgumentException.class, () -> manager.getTask(taskId));
} }
@Test @Test
@DisplayName("Check Getters") @DisplayName("Check Getters")
public void assertGettersWorkCorrectly() { public void assertGettersWorkCorrectly() {
@@ -70,6 +74,7 @@ public class GoodCasesTest {
assertEquals(manager.getTask(taskId).getWorkerId(), workerId); assertEquals(manager.getTask(taskId).getWorkerId(), workerId);
} }
@Test @Test
@DisplayName("Assert that Task State is actually changed when submitted as finished") @DisplayName("Assert that Task State is actually changed when submitted as finished")
public void assertTaskStateChanges() { public void assertTaskStateChanges() {
@@ -81,4 +86,34 @@ public class GoodCasesTest {
assertSame(TaskState.IN_PROGRESS, manager.getTask(taskId).getTaskState()); assertSame(TaskState.IN_PROGRESS, manager.getTask(taskId).getTaskState());
} }
@Test
@DisplayName("Assert that the Scanner is actually started when AM calls start")
public void assertScannerExists() {
try {
manager.getUserCommands().getScanner();
} catch (Exception e) {
fail("Scanner does not exists or can't be gotten by getScanner()");
}
}
@Test
@DisplayName("Check that every required surface command actually works")
public void assertCommandsAreRecognized() {
assertDoesNotThrow(() -> manager.getUserCommands().handleInput("?"));
assertDoesNotThrow(() -> manager.getUserCommands().handleInput("help"));
assertDoesNotThrow(() -> manager.getUserCommands().handleInput("createWorker"));
assertDoesNotThrow(() -> manager.getUserCommands().handleInput("createTask"));
assertDoesNotThrow(() -> manager.getUserCommands().handleInput("selectTask"));
assertDoesNotThrow(() -> manager.getUserCommands().handleInput("listWorkers"));
assertDoesNotThrow(() -> manager.getUserCommands().handleInput("exit"));
}
@Test
@DisplayName("Check that every task command works")
public void assertFinishingTasksIsPossibleThroughUi() {
int workerId = manager.createWorker("Alfred");
int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles");
manager.getUserCommands().handleInput("selectTask");
assertDoesNotThrow(() -> manager.getUserCommands().handleInput(taskId));
assertDoesNotThrow(() -> manager.getUserCommands().handleInput("finishTask"));
}
} }