diff --git a/src/test/java/com/solab/iso8583/TestHeaders.java b/src/test/java/com/solab/iso8583/TestHeaders.java new file mode 100644 index 0000000..2f8fd26 --- /dev/null +++ b/src/test/java/com/solab/iso8583/TestHeaders.java @@ -0,0 +1,51 @@ +package com.solab.iso8583; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.io.IOException; + +/** + * Test ISO headers. + * + * @author Enrique Zamudio + * Date: 01/07/16 8:21 AM + */ +public class TestHeaders { + + private MessageFactory mf; + + @Before + public void init() throws IOException { + mf = new MessageFactory<>(); + mf.setCharacterEncoding("UTF-8"); + mf.setConfigPath("config.xml"); + } + + @Test + public void testBinaryHeader() throws Exception { + IsoMessage m = mf.newMessage(0x280); + Assert.assertNotNull(m.getBinaryIsoHeader()); + byte[] buf = m.writeData(); + Assert.assertEquals(4+4+16+2, buf.length); + for (int i=0; i < 4; i++) { + Assert.assertEquals(buf[i], (byte)0xff); + } + Assert.assertEquals(buf[4], 0x30); + Assert.assertEquals(buf[5], 0x32); + Assert.assertEquals(buf[6], 0x38); + Assert.assertEquals(buf[7], 0x30); + //Then parse and check the header is binary 0xffffffff + m = mf.parseMessage(buf, 4, true); + Assert.assertNull(m.getIsoHeader()); + buf = m.getBinaryIsoHeader(); + Assert.assertNotNull(buf); + for (int i=0; i < 4; i++) { + Assert.assertEquals(buf[i], (byte)0xff); + } + Assert.assertEquals(0x280, m.getType()); + Assert.assertTrue(m.hasField(3)); + } + +}