From 1ccf3596d85b24d270ae799ca9613edbeaa329b8 Mon Sep 17 00:00:00 2001 From: Enrique Zamudio Date: Wed, 12 Jun 2013 13:17:18 -0500 Subject: [PATCH] Test parsing a complete message with EBCDIC --- src/test/java/j8583/TestEbcdic.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/test/java/j8583/TestEbcdic.java b/src/test/java/j8583/TestEbcdic.java index 9f72adf..637323b 100644 --- a/src/test/java/j8583/TestEbcdic.java +++ b/src/test/java/j8583/TestEbcdic.java @@ -157,4 +157,27 @@ public class TestEbcdic { Assert.assertEquals(new BigDecimal("1234567.89"), v.getValue()); } + @Test + public void testMessage() throws ParseException, UnsupportedEncodingException { + final byte[] trama = HexCodec.hexDecode("f1f8f1f42030010002000000f0f0f0f0f0f0f0f1f5f9f5f5f1f3f0f6f1f2f1f1f2f9f0f8f8f3f1f8f0f0"); + MessageFactory mfact = new MessageFactory(); + mfact.setUseBinaryBitmap(true); + HashMap pinfo = new HashMap(); + pinfo.put(3, new AlphaParseInfo(6)); + pinfo.put(11, new AlphaParseInfo(6)); + pinfo.put(12, new AlphaParseInfo(12)); + pinfo.put(24, new AlphaParseInfo(3)); + pinfo.put(39, new AlphaParseInfo(3)); + mfact.setParseMap(0x1814, pinfo); + mfact.setCharacterEncoding("Cp1047"); + mfact.setForceStringEncoding(true); + IsoMessage iso = mfact.parseMessage(trama, 0); + Assert.assertNotNull(iso); + Assert.assertEquals("000000", iso.getObjectValue(3)); + Assert.assertEquals("015955", iso.getObjectValue(11)); + Assert.assertEquals("130612112908", iso.getObjectValue(12)); + Assert.assertEquals("831", iso.getObjectValue(24)); + Assert.assertEquals("800", iso.getObjectValue(39)); + } + }