1 package de.dlr.shepard.context.collection.io;
2
3 import static org.junit.jupiter.api.Assertions.assertEquals;
4
5 import de.dlr.shepard.auth.users.entities.User;
6 import de.dlr.shepard.context.collection.entities.Collection;
7 import de.dlr.shepard.context.collection.entities.DataObject;
8 import java.util.Arrays;
9 import java.util.Date;
10 import java.util.List;
11 import java.util.Map;
12 import nl.jqno.equalsverifier.EqualsVerifier;
13 import org.junit.jupiter.api.Test;
14
15 public class CollectionIOTest {
16
17 @Test
18 public void equalsContract() {
19 EqualsVerifier.simple().forClass(CollectionIO.class).verify();
20 }
21
22 @Test
23 public void testConversion() {
24 var dataObject = new DataObject(2L);
25 dataObject.setShepardId(4L);
26 var date = new Date();
27 var user = new User("bob");
28 var update = new Date();
29 var updateUser = new User("claus");
30
31 var obj = new Collection(1L);
32 obj.setShepardId(2L);
33 obj.setAttributes(Map.of("a", "b", "c", "1"));
34 obj.setCreatedAt(date);
35 obj.setCreatedBy(user);
36 obj.setDataObjects(List.of(dataObject));
37 obj.setDescription("My Description");
38 obj.setName("MyName");
39 obj.setUpdatedAt(update);
40 obj.setUpdatedBy(updateUser);
41
42 var converted = new CollectionIO(obj);
43 assertEquals(obj.getShepardId(), converted.getId());
44 assertEquals(obj.getAttributes(), converted.getAttributes());
45 assertEquals(obj.getCreatedAt(), converted.getCreatedAt());
46 assertEquals("bob", converted.getCreatedBy());
47 assertEquals("[4]", Arrays.toString(converted.getDataObjectIds()));
48 assertEquals(obj.getDescription(), converted.getDescription());
49 assertEquals(obj.getName(), converted.getName());
50 assertEquals(obj.getUpdatedAt(), converted.getUpdatedAt());
51 assertEquals("claus", converted.getUpdatedBy());
52 }
53 }