1 package ca.uhn.hl7v2.hoh.encoder; 2 3 import static org.junit.Assert.*; 4 5 import org.junit.Test; 6 7 import ca.uhn.hl7v2.AcknowledgmentCode; 8 import ca.uhn.hl7v2.hoh.encoder.ResponseCode; 9 import ca.uhn.hl7v2.model.Message; 10 import ca.uhn.hl7v2.model.v25.message.ADT_A05; 11 import ca.uhn.hl7v2.parser.DefaultXMLParser; 12 13 public class ResponseCodeTest { 14 15 @Test 16 public void testDetectEr7() throws Exception { 17 18 String message = "MSH|^~\\&|||||200803051508||ADT^A31|2|P|2.5\r" 19 + "EVN||200803051509\r" 20 + "PID|||ZZZZZZ83M64Z148R^^^SSN^SSN^^20070103\r"; 21 ADT_A05 a05 = new ADT_A05(); 22 a05.parse(message); 23 24 Message ack = a05.generateACK(AcknowledgmentCode.AA, null); 25 String ackString = ack.encode(); 26 assertEquals(ResponseCode.HTTP_200_OK, ResponseCode.detect(ackString)); 27 28 ack = a05.generateACK(AcknowledgmentCode.AE, null); 29 ackString = ack.encode(); 30 assertEquals(ResponseCode.HTTP_200_OK, ResponseCode.detect(ackString)); 31 32 ack = a05.generateACK(AcknowledgmentCode.AR, null); 33 ackString = ack.encode(); 34 assertEquals(ResponseCode.HTTP_200_OK, ResponseCode.detect(ackString)); 35 36 } 37 38 @Test 39 public void testDetectXml() throws Exception { 40 41 String message = "MSH|^~\\&|||||200803051508||ADT^A31|2|P|2.5\r" 42 + "EVN||200803051509\r" 43 + "PID|||ZZZZZZ83M64Z148R^^^SSN^SSN^^20070103\r"; 44 ADT_A05 a05 = new ADT_A05(); 45 a05.parse(message); 46 a05.setParser(new DefaultXMLParser()); 47 48 String encoded = a05.encode(); 49 assertTrue(encoded, encoded.contains("<MSH")); 50 51 Message ack = a05.generateACK(AcknowledgmentCode.AA, null); 52 String ackString = ack.encode(); 53 assertTrue(ackString, ackString.contains("<MSH")); 54 assertEquals(ResponseCode.HTTP_200_OK, ResponseCode.detect(ackString)); 55 56 ack = a05.generateACK(AcknowledgmentCode.AE, null); 57 ackString = ack.encode(); 58 assertEquals(ResponseCode.HTTP_200_OK, ResponseCode.detect(ackString)); 59 60 ack = a05.generateACK(AcknowledgmentCode.AR, null); 61 ackString = ack.encode(); 62 assertEquals(ResponseCode.HTTP_200_OK, ResponseCode.detect(ackString)); 63 64 } 65 66 }