@@ -0,0 +1,1674 @@
+package jfdi.test.storage;%0A%0Aimport static org.junit.Assert.*;%0A%0Aimport java.time.Duration;%0Aimport java.util.HashSet;%0Aimport java.util.TreeSet;%0A%0Aimport jfdi.storage.Constants;%0Aimport jfdi.storage.records.Task;%0Aimport jfdi.storage.serializer.Serializer;%0A%0Aimport org.junit.Test;%0A%0Apublic class SerializerTest %7B%0A%0A    @Test%0A    public void testSerializeAndDeserialize() %7B%0A        // Generate a new Task%0A        Task task = new Task();%0A        task.setDescription(Constants.TEST_TASK_DESCRIPTION);%0A        task.setStartDateTime(Constants.TEST_TASK_STARTDATETIME);%0A        task.setEndDateTime(Constants.TEST_TASK_ENDDATETIME);%0A        HashSet%3CString%3E tags = new HashSet%3CString%3E();%0A        tags.add(Constants.TEST_TASK_TAG_1);%0A        task.setTags(tags);%0A        TreeSet%3CDuration%3E reminders = new TreeSet%3CDuration%3E();%0A        reminders.add(Constants.TEST_TASK_REMINDER_DURATION);%0A        task.setReminders(reminders);%0A        task.setCompleted(true);%0A%0A        // Serialize it%0A        String serializedJson = Serializer.serialize(task);%0A%0A        // Deserialize the serialized JSON%0A        Task deserializedTask = Serializer.deserialize(serializedJson, Task.class);%0A%0A        // Check if the properties are still the same%0A        assertEquals(deserializedTask.getDescription(), Constants.TEST_TASK_DESCRIPTION);%0A        assertEquals(deserializedTask.getStartDateTime(), Constants.TEST_TASK_STARTDATETIME);%0A        assertEquals(deserializedTask.getEndDateTime(), Constants.TEST_TASK_ENDDATETIME);%0A        assertEquals(deserializedTask.getTags(), tags);%0A        assertEquals(deserializedTask.getReminders(), reminders);%0A        assertEquals(deserializedTask.isCompleted(), true);%0A    %7D%0A%0A%7D%0A

Add SerializerTest