1 package de.dlr.shepard.context.references.timeseriesreference;
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.DataObject;
7 import de.dlr.shepard.context.references.timeseriesreference.io.TimeseriesReferenceIO;
8 import de.dlr.shepard.context.references.timeseriesreference.model.ReferencedTimeseriesNodeEntity;
9 import de.dlr.shepard.context.references.timeseriesreference.model.TimeseriesReference;
10 import de.dlr.shepard.data.timeseries.model.Timeseries;
11 import de.dlr.shepard.data.timeseries.model.TimeseriesContainer;
12 import java.util.Date;
13 import java.util.List;
14 import nl.jqno.equalsverifier.EqualsVerifier;
15 import org.junit.jupiter.api.Test;
16
17 public class TimeseriesReferenceIOTest {
18
19 @Test
20 public void equalsContract() {
21 EqualsVerifier.simple().forClass(TimeseriesReferenceIO.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 dataObject = new DataObject(2L);
31 dataObject.setShepardId(500L);
32 var container = new TimeseriesContainer(3L);
33 var ts = new Timeseries("meas", "dev", "loc", "name", "field");
34
35 var timeseriesReference = new TimeseriesReference(1L);
36 timeseriesReference.setShepardId(341L);
37 timeseriesReference.setCreatedAt(date);
38 timeseriesReference.setCreatedBy(user);
39 timeseriesReference.setName("MyName");
40 timeseriesReference.setUpdatedAt(update);
41 timeseriesReference.setUpdatedBy(updateUser);
42 timeseriesReference.setDataObject(dataObject);
43 timeseriesReference.setEnd(213);
44 timeseriesReference.setStart(123);
45 timeseriesReference.setReferencedTimeseriesList(List.of(new ReferencedTimeseriesNodeEntity(ts)));
46 timeseriesReference.setTimeseriesContainer(container);
47
48 var converted = new TimeseriesReferenceIO(timeseriesReference);
49 assertEquals(timeseriesReference.getShepardId(), converted.getId());
50 assertEquals(timeseriesReference.getCreatedAt(), converted.getCreatedAt());
51 assertEquals("bob", converted.getCreatedBy());
52 assertEquals(timeseriesReference.getName(), converted.getName());
53 assertEquals(timeseriesReference.getUpdatedAt(), converted.getUpdatedAt());
54 assertEquals("claus", converted.getUpdatedBy());
55 assertEquals(dataObject.getShepardId(), converted.getDataObjectId());
56 assertEquals(timeseriesReference.getEnd(), converted.getEnd());
57 assertEquals(timeseriesReference.getStart(), converted.getStart());
58 assertEquals(List.of(ts), converted.getTimeseries());
59 assertEquals(3L, converted.getTimeseriesContainerId());
60 }
61
62 @Test
63 public void testConversion_ContainerNull() {
64 var date = new Date();
65 var user = new User("bob");
66 var dataObject = new DataObject(2L);
67 dataObject.setShepardId(3485L);
68 var ts = new Timeseries("meas", "dev", "loc", "name", "field");
69
70 var timeseriesReference = new TimeseriesReference(1L);
71 timeseriesReference.setShepardId(234L);
72 timeseriesReference.setCreatedAt(date);
73 timeseriesReference.setCreatedBy(user);
74 timeseriesReference.setName("MyName");
75 timeseriesReference.setDataObject(dataObject);
76 timeseriesReference.setEnd(213);
77 timeseriesReference.setStart(123);
78 timeseriesReference.setReferencedTimeseriesList(List.of(new ReferencedTimeseriesNodeEntity(ts)));
79
80 var converted = new TimeseriesReferenceIO(timeseriesReference);
81 assertEquals(timeseriesReference.getShepardId(), converted.getId());
82 assertEquals(timeseriesReference.getCreatedAt(), converted.getCreatedAt());
83 assertEquals("bob", converted.getCreatedBy());
84 assertEquals(timeseriesReference.getName(), converted.getName());
85 assertEquals(dataObject.getShepardId(), converted.getDataObjectId());
86 assertEquals(timeseriesReference.getEnd(), converted.getEnd());
87 assertEquals(timeseriesReference.getStart(), converted.getStart());
88 assertEquals(List.of(ts), converted.getTimeseries());
89 assertEquals(-1, converted.getTimeseriesContainerId());
90 }
91 }