database #3

Merged
Ferryry merged 11 commits from database into main 2025-12-08 18:10:08 +01:00
4 changed files with 39 additions and 9 deletions
Showing only changes of commit 625e089a36 - Show all commits

View File

@@ -7,4 +7,5 @@ import java.sql.SQLException;
public interface Database {
public void connect() throws SQLException, IOException;
public void close() throws SQLException;
public void clearDatabase() throws SQLException;
}

View File

@@ -9,6 +9,6 @@ import java.util.Collection;
public interface DatabaseManager<E> extends Database {
public void saveObjects(Collection<E> objects) throws ExecutionControl.NotImplementedException, IOException, SQLException;
public Collection<E> getObjects() throws ExecutionControl.NotImplementedException;
public void saveObject(E object) throws ExecutionControl.NotImplementedException, IOException, SQLException;
public E getObject(int id) throws ExecutionControl.NotImplementedException;
public void saveObject(E object) throws IOException, SQLException;
public E getObject(int id) throws SQLException;
}

View File

@@ -1 +1 @@
INSERT INTO Task (name, description, workerid, taskstate) VALUES (?, ?, ?, ?)
INSERT INTO Task (taskid, name, description, workerid, taskstate) VALUES (?, ?, ?, ?, ?)

View File

@@ -7,8 +7,12 @@ 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 {
@@ -16,23 +20,37 @@ public class DatabaseGoodCasesTest {
private AssignmentManager manager;
@BeforeEach
public void setup() {
public void setup() throws SQLException, IOException {
databaseManager = new SimpleDatabaseManager<>();
databaseManager.connect();
databaseManager.clearDatabase();
manager = new AssignmentManager();
}
@Test
@DisplayName("Assert that the TestClass could be inserted into the database")
public void assertGetTestClass() throws SQLException, IOException, ExecutionControl.NotImplementedException {
public void assertGetTestClass() throws SQLException, IOException {
databaseManager.connect();
Task task = databaseManager.getObject(1);
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 a simple Task could be inserted into the database")
public void assertInsertTestClass() throws SQLException, IOException, ExecutionControl.NotImplementedException {
public void assertInsertTask() throws SQLException, IOException, ExecutionControl.NotImplementedException {
Task testTask = new Task(1, 1, "Hello World", "Description");
@@ -42,9 +60,20 @@ public class DatabaseGoodCasesTest {
}
@Test
@DisplayName("Assert connecting to database")
public void assertConnectToDatabase() throws SQLException, IOException {
@DisplayName("Assert that simple Tasks could be inserted into the database")
public void assertInsertMultipleTasks() throws SQLException, IOException, ExecutionControl.NotImplementedException {
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();
}
}