This commit is contained in:
2026-01-06 20:23:49 +01:00
103 changed files with 651 additions and 3987 deletions

View File

@@ -6,34 +6,41 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.sql.SQLException;
import static org.junit.jupiter.api.Assertions.*;
public class DatabaseBadCasesTest {
private DatabaseManager<DatabaseGoodCasesTest.TestClass> databaseManager;
public class TestClass {
private int id;
private String dataString;
private int dataInteger;
public TestClass(int id, String dataString, int dataInteger) {
this.id = id;
this.dataString = dataString;
this.dataInteger = dataInteger;
}
}
private DatabaseManager databaseManager;
@BeforeEach
public void setup() {
databaseManager = new SimpleDatabaseManager<>();
public void setup() throws SQLException {
databaseManager = new SimpleDatabaseManager();
databaseManager.connect();
databaseManager.clearDatabase();
}
@Test
@DisplayName("Assert connection failed")
public void assertConnectionFailed() {
assertThrows(SQLException.class, () -> databaseManager.connect());
@DisplayName("Inserting Tasks with the same ID")
public void insertTasksWithTheSameId() throws SQLException {
Task task = new Task(10, 10, "ABC", "XYZ");
Task taskFaker = new Task(10, 5, "ABC!", "XYZ!");
databaseManager.saveTask(task);
databaseManager.saveTask(taskFaker);
}
@Test
@DisplayName("Inserting Workers with the same ID")
public void insertWorkersWithTheSameId() throws SQLException {
Worker worker = new Worker("Worker-1", 1);
Worker workerFaker = new Worker("Worker-100", 1);
databaseManager.saveWorker(worker);
databaseManager.saveWorker(workerFaker);
}
}

View File

@@ -1,56 +1,90 @@
package hhn.temp.project;
import hhn.temp.project.provider.DatabaseManager;
import hhn.temp.project.provider.SimpleDatabaseManager;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import java.io.IOException;
import java.net.URISyntaxException;
import java.sql.SQLException;
import java.util.Collection;
import java.util.List;
public class DatabaseGoodCasesTest {
private DatabaseManager<DatabaseGoodCasesTest.TestClass> databaseManager;
public class TestClass {
private int id;
private String dataString;
private int dataInteger;
public TestClass(int id, String dataString, int dataInteger) {
this.id = id;
this.dataString = dataString;
this.dataInteger = dataInteger;
}
}
private SimpleDatabaseManager databaseManager;
@BeforeEach
public void setup() {
databaseManager = new SimpleDatabaseManager<>();
public void setup() throws SQLException {
databaseManager = new SimpleDatabaseManager();
databaseManager.connect();
databaseManager.clearDatabase();
}
@Test
@DisplayName("Assert that the TestClass could be inserted into the database")
public void assertGetTestClass() throws SQLException, IOException {
TestClass testClass = new TestClass(1, "Hello World", 123);
@DisplayName("Inserting test task into the database and receiving back the same test task")
public void insertTaskAndReceiveItBackTest() throws SQLException {
Task task = new Task(123, 10, "Hello World", "Doing Something, hell yeah!");
databaseManager.connect();
databaseManager.getObject(1);
databaseManager.saveTask(task);
Task reTask = databaseManager.getTaskByTaskId(task.getTaskId());
assertNotNull(reTask);
assertEquals(task.getTaskId(), reTask.getTaskId());
assertEquals(task.getDescription(), reTask.getDescription());
assertEquals(task.getName(), reTask.getName());
assertEquals(task.getWorkerId(), reTask.getWorkerId());
assertEquals(1, databaseManager.getTotalNumberOfTasks());
}
@Test
@DisplayName("Assert that the TestClass could be inserted into the database")
public void assertInsertTestClass() throws SQLException, IOException {
TestClass testClass = new TestClass(1, "Hello World", 123);
@DisplayName("Inserting test worker into the database and receiving back the same test worker")
public void insertWorkerAndReceivedItBackTest() throws SQLException {
Worker worker = new Worker("Worker-01", 12345678);
databaseManager.connect();
databaseManager.saveObject(testClass);
databaseManager.saveWorker(worker);
Worker reWorker = databaseManager.getWorkerByWorkerId(worker.getId());
assertNotNull(reWorker);
assertEquals(worker.getId(), reWorker.getId());
assertEquals(worker.getName(), reWorker.getName());
}
@Test
@DisplayName("Assert connecting to database")
public void assertConnectToDatabase() throws SQLException, IOException {
databaseManager.connect();
@DisplayName("Clearing the database (Task and Worker) test")
public void clearDatabaseTest() throws SQLException, InterruptedException {
Task task1 = new Task(10, 5, "Hello", "World");
Task task2 = new Task(9, 4, "Hochschule", "Heilbronn");
Task task3 = new Task(8, 9, "Gangnam", "Style");
Collection<Task> tasks = List.of(task1, task2, task3);
Worker worker1 = new Worker("ABC", 2);
Worker worker2 = new Worker("XYZ", 9);
Collection<Worker> workers = List.of(worker1, worker2);
databaseManager.saveTasks(tasks);
databaseManager.saveWorkers(workers);
Thread.sleep(500);
assertEquals(tasks.size(), databaseManager.getTotalNumberOfTasks());
assertEquals(workers.size(), databaseManager.getTotalNumberOfWorkers());
databaseManager.clearDatabase();
assertEquals(0, databaseManager.getTotalNumberOfTasks());
assertEquals(0, databaseManager.getTotalNumberOfWorkers());
}
@Test
public void testRandom() throws IOException, URISyntaxException {
System.out.println(databaseManager.loadFile(SimpleDatabaseManager.QueryMode.INSERT_TASK));
}
}