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.hl7;
17
18 import org.junit.Test;
19 import org.openehealth.ipf.commons.ihe.xds.core.metadata.*;
20
21 import static org.junit.Assert.*;
22
23
24
25
26 public class XdsHl7v2RenderingTest {
27
28 @Test
29 public void testCodeRendering() {
30 doCheckCodeRendering("a", "b", "c", "a^^c");
31 doCheckCodeRendering("a", "b", null, "a");
32 doCheckCodeRendering("a", null, "c", "a^^c");
33 doCheckCodeRendering("a", null, null, "a");
34 doCheckCodeRendering(null, "b", "c", "^^c");
35 doCheckCodeRendering(null, "b", null, null);
36 doCheckCodeRendering(null, null, "c", "^^c");
37 doCheckCodeRendering(null, null, null, null);
38 }
39
40 private static void doCheckCodeRendering(String id, String displayName, String schemeName, String expected) {
41 Code code = new Code(id, new LocalizedString(displayName), schemeName);
42 String rendered = Hl7v2Based.render(code);
43 assertEquals(expected, rendered);
44 }
45
46 @Test
47 public void testTelecomRendering() {
48 String xtn = "1^2^3^4^5^6^7^8^9^10^11^12^13^14^^^";
49 Telecom telecom = Hl7v2Based.parse(xtn, Telecom.class);
50 assertEquals("^2^3^4^5^6^7^8^^^^12", Hl7v2Based.render(telecom));
51 assertEquals("1^2^3^4^5^6^7^8^9^10^11^12^13^14", Hl7v2Based.rawRender(telecom));
52 }
53
54 @Test
55 public void testIdentifiableRendering() {
56 String cx = "1^2^3^41&42&43&44&45&46^51&52^6^^&&^^";
57 Identifiable identifiable = Hl7v2Based.parse(cx, Identifiable.class);
58 assertEquals("1^^^&42&43", Hl7v2Based.render(identifiable));
59 assertEquals("1^2^3^41&42&43&44&45&46^51&52^6", Hl7v2Based.rawRender(identifiable));
60 }
61
62 @Test
63 public void testReferenceIdRendering() {
64 String cx = "1^2^3^41&42&43&44&45&46^51&52^6^^&&^^";
65 ReferenceId referenceId = Hl7v2Based.parse(cx, ReferenceId.class);
66 assertEquals("1^^^41&42&43^51", Hl7v2Based.render(referenceId));
67 assertEquals("1^2^3^41&42&43&44&45&46^51&52^6", Hl7v2Based.rawRender(referenceId));
68 }
69
70 @Test
71 public void testEmptyAssignignAuthority() {
72 String cx = "1^^^ABCD^^^^";
73 Identifiable identifiable = Hl7v2Based.parse(cx, Identifiable.class);
74 assertNull(identifiable.getAssigningAuthority());
75 ReferenceId referenceId = Hl7v2Based.parse(cx, ReferenceId.class);
76 assertNotNull(referenceId.getAssigningAuthority());
77 }
78
79 @Test
80 public void testNonEmptyAssignignAuthority() {
81 String cx = "1^^^ABCD&1.2.3&ISO^^^";
82 Identifiable identifiable = Hl7v2Based.parse(cx, Identifiable.class);
83 assertNotNull(identifiable.getAssigningAuthority());
84 ReferenceId referenceId = Hl7v2Based.parse(cx, ReferenceId.class);
85 assertNotNull(referenceId.getAssigningAuthority());
86 }
87
88 }