Files
GseTDDUebungKCLR/test/hhn/temp/project/DatabaseGoodCasesTest.java
2025-12-03 23:04:21 +01:00

114 lines
3.2 KiB
Java

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.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
public class DatabaseGoodCasesTest {
private DatabaseManager<Task> databaseManager;
@BeforeEach
public void setup() throws SQLException, IOException {
databaseManager = new SimpleDatabaseManager<>();
databaseManager.connect();
databaseManager.clearDatabase();
}
@Test
@DisplayName("Assert that the TestClass could be inserted into the database")
public void assertGetTestClass() throws SQLException {
databaseManager.connect();
Task task = new Task(1, 1, "hi", "hi");
databaseManager.saveObject(task);
Task taskNew = databaseManager.getObject(1);
assertEquals(task.getTaskId(), taskNew.getTaskId());
assertEquals(task.getName(), taskNew.getName());
assertEquals(task.getDescription(), taskNew.getDescription());
assertEquals(task.getWorkerId(), taskNew.getWorkerId());
assertEquals(task.getTaskState(), taskNew.getTaskState());
databaseManager.close();
}
@Test
@DisplayName("Assert that an inserted and deleted task is not there anymore")
public void assertDeleteTest() throws SQLException {
databaseManager.connect();
Task task = new Task(9, 1, "hi", "hi");
databaseManager.saveObject(task);
databaseManager.deleteObject(9);
databaseManager.getObject(9);
databaseManager.close();
}
@Test
@DisplayName("Assert that a simple Task could be inserted into the database")
public void assertInsertTask() throws SQLException {
Task testTask = new Task(1, 1, "Hello World", "Description");
databaseManager.connect();
databaseManager.saveObject(testTask);
databaseManager.close();
}
@Test
@DisplayName("Assert that multiple Tasks could be inserted into the database")
public void assertInsertMultipleTasks() throws SQLException {
Task testTaskZero = new Task(1, 1, "Hello", "Description");
Task testTaskOne = new Task(2, 2, "World", "Description");
Task testTaskTwo = new Task(3, 3, "Hello World", "Description");
Collection<Task> tasks = new ArrayList<>();
tasks.add(testTaskZero);
tasks.add(testTaskOne);
tasks.add(testTaskTwo);
databaseManager.connect();
databaseManager.saveObjects(tasks);
databaseManager.close();
}
@Test
@DisplayName("Assert insert object and update it")
public void assertInsertUpdateTask() throws SQLException {
int taskId = 1;
Task testTask = new Task(taskId, 1, "Hello World", "Description");
Task newTask = new Task(taskId, 1, "No World", "Description");
databaseManager.connect();
databaseManager.saveObject(testTask);
newTask = databaseManager.updateObject(testTask.getTaskId(), newTask);
assertNotNull(testTask);
assertNotEquals(testTask.getDescription(), newTask.getDescription());
assertEquals(testTask.getTaskId(), newTask.getTaskId());
databaseManager.close();
}
}