public byte[] Assemble() { String segmentSeparator = "\r"; String fieldSeparator = "|"; String componentSeparator = "^"; String repetitionSeparator = "~"; String subcomponentSeparator = "&"; String escapeCharacter = "\\"; var converter = new XmlToHl7Converter(segmentSeparator, fieldSeparator, componentSeparator, repetitionSeparator, escapeCharacter, subcomponentSeparator, true); byte[] result = converter.Convert(_message.GetXDocument()); return result; }
public byte[] Assemble() { String segmentSeparator = "\r"; String fieldSeparator = "|"; String componentSeparator = "^"; String repetitionSeparator = "~"; String subcomponentSeparator = "&"; String escapeCharacter = "\\"; var converter = new XmlToHl7Converter(segmentSeparator, fieldSeparator, componentSeparator, repetitionSeparator, escapeCharacter, subcomponentSeparator, true); byte[] result = converter.Convert(_message.GetXDocument()); return(result); }
public void XmlToHl7ConverterTest() { XDocument document = XDocument.Load("Hl7DisassemblerTest-hl7.xml"); var element = document.Descendants("MSH.19.1").FirstOrDefault(); Assert.IsNotNull(element); Assert.AreEqual(" ", element.Value, "We need these empty spaces in the file to make sure the XML framework doesn't throw them away on the way"); String segmentSeparator = "\r"; String fieldSeparator = "|"; String componentSeparator = "^"; String repetitionSeparator = "~"; String subcomponentSeparator = "&"; String escapeCharacter = "\\"; var converter = new XmlToHl7Converter(segmentSeparator, fieldSeparator, componentSeparator, repetitionSeparator, escapeCharacter, subcomponentSeparator, true); byte[] result = converter.Convert(document); Assert.IsNotNull(result); string outFilePath = "hl7-assembler-test-out.txt"; using (StreamWriter writer = new StreamWriter(outFilePath)) { writer.Write(Encoding.UTF8.GetString(result)); writer.Close(); } byte[] expected = null; using (StreamReader reader = new StreamReader("Hl7DisassemblerTest-hl7-2.txt")) { string text = reader.ReadToEnd(); expected = Encoding.UTF8.GetBytes(text); } Assert.AreEqual(expected[0], result[0]); Assert.AreEqual(expected[1], result[1]); Assert.AreEqual(expected[expected.Length - 5], result[expected.Length - 5], "Failed with | and \" differ at end of the second segment"); Assert.AreEqual(expected.Length, result.Length); Assert.IsTrue(expected.SequenceEqual(result), "Expected and result message didn't match."); }