1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.xds.core.transform.requests.ebxml30;
17
18 import org.junit.Before;
19 import org.junit.Test;
20 import org.openehealth.ipf.commons.ihe.xds.core.SampleData;
21 import org.openehealth.ipf.commons.ihe.xds.core.ebxml.EbXMLAdhocQueryRequest;
22 import org.openehealth.ipf.commons.ihe.xds.core.ebxml.EbXMLSlot;
23 import org.openehealth.ipf.commons.ihe.xds.core.ebxml.ebxml30.EbXMLFactory30;
24 import org.openehealth.ipf.commons.ihe.xds.core.requests.query.*;
25 import org.openehealth.ipf.commons.ihe.xds.core.transform.requests.QueryParameter;
26 import org.openehealth.ipf.commons.ihe.xds.core.transform.requests.query.FindDocumentsByReferenceIdQueryTransformer;
27
28 import java.util.Arrays;
29 import java.util.Collections;
30 import java.util.List;
31
32 import static org.junit.Assert.assertEquals;
33
34
35
36
37
38 public class FindDocumentsByReferenceIdQueryTransformerTest {
39 private FindDocumentsByReferenceIdQueryTransformer transformer;
40 private FindDocumentsByReferenceIdQuery query;
41 private EbXMLAdhocQueryRequest ebXML;
42
43 @Before
44 public void setUp() {
45 transformer = new FindDocumentsByReferenceIdQueryTransformer();
46 query = (FindDocumentsByReferenceIdQuery) SampleData.createFindDocumentsByReferenceIdQuery().getQuery();
47 ebXML = new EbXMLFactory30().createAdhocQueryRequest();
48 }
49
50 @Test
51 public void testToEbXML() {
52 transformer.toEbXML(query, ebXML);
53
54 assertEquals(QueryType.FIND_DOCUMENTS_BY_REFERENCE_ID.getId(), ebXML.getId());
55 assertEquals("12.21.41", ebXML.getHome());
56 assertEquals(Collections.singletonList("'id3^^^&1.3&ISO'"),
57 ebXML.getSlotValues(QueryParameter.DOC_ENTRY_PATIENT_ID.getSlotName()));
58
59 List<EbXMLSlot> referenceIdSlots = ebXML.getSlots(QueryParameter.DOC_ENTRY_REFERENCE_IDS.getSlotName());
60 assertEquals(2, referenceIdSlots.size());
61 assertEquals(Arrays.asList(
62 "('ref-id-11^^^&1.1.1.1&ISO^urn:ihe:iti:xds:2013:uniqueId')",
63 "('ref-id-12^^^^urn:ihe:iti:xdw:2013:workflowInstanceId')",
64 "('ref-id-13^^^^urn:ihe:iti:xds:2013:referral')"),
65 referenceIdSlots.get(0).getValueList());
66 assertEquals(Arrays.asList(
67 "('ref-id-21^^^&1.1.1.2&ISO^urn:ihe:iti:xds:2013:accession')",
68 "('ref-id-22^^^^urn:ihe:iti:xds:2013:order')"),
69 referenceIdSlots.get(1).getValueList());
70 }
71
72 @Test
73 public void testToEbXMLNull() {
74 transformer.toEbXML(null, ebXML);
75 assertEquals(0, ebXML.getSlots().size());
76 }
77
78 @Test
79 public void testToEbXMLEmpty() {
80 transformer.toEbXML(new FindDocumentsByReferenceIdQuery(), ebXML);
81 assertEquals(0, ebXML.getSlots().size());
82 }
83
84 @Test
85 public void testFromEbXML() {
86 transformer.toEbXML(query, ebXML);
87 FindDocumentsByReferenceIdQuery result = new FindDocumentsByReferenceIdQuery();
88 transformer.fromEbXML(result, ebXML);
89 assertEquals(query, result);
90 }
91
92 @Test
93 public void testFromEbXMLNull() {
94 FindDocumentsByReferenceIdQuery result = new FindDocumentsByReferenceIdQuery();
95 transformer.fromEbXML(result, null);
96 assertEquals(new FindDocumentsByReferenceIdQuery(), result);
97 }
98
99 @Test
100 public void testFromEbXMLEmpty() {
101 FindDocumentsByReferenceIdQuery result = new FindDocumentsByReferenceIdQuery();
102 transformer.fromEbXML(result, ebXML);
103 assertEquals(new FindDocumentsByReferenceIdQuery(), result);
104 }
105
106 }