ScannerImplementation #5

Merged
KevinSchoenmayer merged 11 commits from ScannerImplementation into main 2026-01-06 21:24:37 +01:00
4 changed files with 67 additions and 0 deletions
Showing only changes of commit 7201f66214 - Show all commits

View File

@@ -10,12 +10,15 @@ public class AssignmentManager {
Map<Integer, Task> taskMap;
int workerIdCounter;
int taskIdCounter;
UserCommands userInterface;
public AssignmentManager() {
workerMap = new HashMap<>();
taskMap = new HashMap<>();
int workerIdCounter = 1000;
int taskIdCounter = 0;
userInterface = new UserCommands();
userInterface.start();
}
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() {
manager = new AssignmentManager();
}
@Test
@DisplayName("Assert that a Worker can add a Task")
public void assertWorkerCanAddTask() {
@@ -30,6 +31,7 @@ public class GoodCasesTest {
int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles");
assertEquals(sizeCount + 1, manager.getTaskMap().size());
}
@Test
@DisplayName("Assert existing Tasks can be edited")
public void assertExistingTasksCanBeEdited() {
@@ -50,6 +52,7 @@ public class GoodCasesTest {
manager.removeTask(taskId);
assertEquals(sizeCount, manager.getTaskMap().size());
}
@Test
@DisplayName("Assert deleted Tasks no longer show up in the List")
public void assertDeletedTasksDisappear() {
@@ -58,6 +61,7 @@ public class GoodCasesTest {
manager.removeTask(taskId);
assertThrows(IllegalArgumentException.class, () -> manager.getTask(taskId));
}
@Test
@DisplayName("Check Getters")
public void assertGettersWorkCorrectly() {
@@ -70,6 +74,7 @@ public class GoodCasesTest {
assertEquals(manager.getTask(taskId).getWorkerId(), workerId);
}
@Test
@DisplayName("Assert that Task State is actually changed when submitted as finished")
public void assertTaskStateChanges() {
@@ -81,4 +86,34 @@ public class GoodCasesTest {
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"));
}
}