View Javadoc
1   package de.dlr.shepard.context.collection.io;
2   
3   import static org.junit.jupiter.api.Assertions.assertEquals;
4   import static org.junit.jupiter.api.Assertions.assertNull;
5   
6   import de.dlr.shepard.auth.users.entities.User;
7   import de.dlr.shepard.context.collection.entities.Collection;
8   import de.dlr.shepard.context.collection.entities.DataObject;
9   import de.dlr.shepard.context.references.dataobject.entities.DataObjectReference;
10  import java.util.Arrays;
11  import java.util.Date;
12  import java.util.List;
13  import java.util.Map;
14  import nl.jqno.equalsverifier.EqualsVerifier;
15  import org.junit.jupiter.api.Test;
16  
17  public class DataObjectIOTest {
18  
19    @Test
20    public void equalsContract() {
21      EqualsVerifier.simple().forClass(DataObjectIO.class).verify();
22    }
23  
24    @Test
25    public void testConversion() {
26      var date = new Date();
27      var user = new User("bob");
28      var update = new Date();
29      var updateUser = new User("claus");
30      var incoming = new DataObjectReference(7L);
31      incoming.setShepardId(44L);
32      var parent = new DataObject(2L);
33      parent.setShepardId(498L);
34      var child = new DataObject(3L);
35      child.setShepardId(4090L);
36      var suc = new DataObject(4L);
37      suc.setShepardId(96L);
38      var pre = new DataObject(5L);
39      pre.setShepardId(4748L);
40      var col = new Collection(6L);
41      col.setShepardId(366L);
42  
43      var obj = new DataObject(1L);
44      obj.setShepardId(98765L);
45      obj.setAttributes(Map.of("a", "b", "c", "1"));
46      obj.setCreatedAt(date);
47      obj.setCreatedBy(user);
48      obj.setDescription("My Description");
49      obj.setIncoming(List.of(incoming));
50      obj.setName("MyName");
51      obj.setUpdatedAt(update);
52      obj.setUpdatedBy(updateUser);
53      obj.setParent(parent);
54      obj.setChildren(List.of(child));
55      obj.setPredecessors(List.of(pre));
56      obj.setSuccessors(List.of(suc));
57      obj.setCollection(col);
58  
59      var converted = new DataObjectIO(obj);
60      assertEquals(obj.getShepardId(), converted.getId());
61      assertEquals(obj.getAttributes(), converted.getAttributes());
62      assertEquals(obj.getCreatedAt(), converted.getCreatedAt());
63      assertEquals("bob", converted.getCreatedBy());
64      assertEquals(obj.getDescription(), converted.getDescription());
65      assertEquals("[" + obj.getIncoming().get(0).getShepardId() + "]", Arrays.toString(converted.getIncomingIds()));
66      assertEquals(obj.getName(), converted.getName());
67      assertEquals(obj.getUpdatedAt(), converted.getUpdatedAt());
68      assertEquals("claus", converted.getUpdatedBy());
69      assertEquals(parent.getShepardId(), converted.getParentId());
70      assertEquals(col.getShepardId(), converted.getCollectionId());
71      assertEquals("[" + obj.getChildren().get(0).getShepardId() + "]", Arrays.toString(converted.getChildrenIds()));
72      assertEquals("[" + obj.getSuccessors().get(0).getShepardId() + "]", Arrays.toString(converted.getSuccessorIds()));
73      assertEquals(
74        "[" + obj.getPredecessors().get(0).getShepardId() + "]",
75        Arrays.toString(converted.getPredecessorIds())
76      );
77    }
78  
79    @Test
80    public void testConversionNoParent() {
81      var col = new Collection(2L);
82      col.setShepardId(432L);
83      var obj = new DataObject(1L);
84      obj.setShepardId(38383L);
85      obj.setCollection(col);
86  
87      var converted = new DataObjectIO(obj);
88      assertNull(converted.getParentId());
89    }
90  }