From 07b277c7faa62c2ac8796aed5c612d952a66ecae Mon Sep 17 00:00:00 2001 From: Enrique Zamudio Date: Mon, 25 Nov 2013 17:55:59 -0600 Subject: [PATCH] Tests for #17 --- src/test/java/j8583/TestComposites.java | 45 +++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/test/java/j8583/TestComposites.java diff --git a/src/test/java/j8583/TestComposites.java b/src/test/java/j8583/TestComposites.java new file mode 100644 index 0000000..7a99536 --- /dev/null +++ b/src/test/java/j8583/TestComposites.java @@ -0,0 +1,45 @@ +package j8583; + +import com.solab.iso8583.IsoType; +import com.solab.iso8583.IsoValue; +import com.solab.iso8583.codecs.CompositeField; +import org.junit.Assert; +import org.junit.Test; + +/** + * Tests for the CompositeField. + * + * @author Enrique Zamudio + * Date: 25/11/13 17:43 + */ +public class TestComposites { + + @Test + public void testEncodeText() { + final CompositeField f = new CompositeField(); + f.addValue(new IsoValue(IsoType.ALPHA, "One", 5)); + f.getValues().get(0).setCharacterEncoding("UTF-8"); + Assert.assertEquals("One ", f.encodeField(f)); + f.addValue(new IsoValue(IsoType.LLVAR, "Two")); + f.getValues().get(1).setCharacterEncoding("UTF-8"); + Assert.assertEquals("One 03Two", f.encodeField(f)); + f.addValue(new IsoValue(IsoType.NUMERIC, 999l, 5)); + f.getValues().get(2).setCharacterEncoding("UTF-8"); + Assert.assertEquals("One 03Two00999", f.encodeField(f)); + } + + @Test + public void testEncodeBinary() { + final CompositeField f = new CompositeField(); + f.setBinary(true); + f.addValue(new IsoValue(IsoType.ALPHA, "One", 5)); + Assert.assertArrayEquals(new byte[]{'O', 'n', 'e', 32, 32}, f.encodeBinaryField(f)); + f.addValue(new IsoValue(IsoType.LLVAR, "Two")); + Assert.assertArrayEquals(new byte[]{'O', 'n', 'e', ' ', ' ', 3, 'T', 'w', 'o'}, + f.encodeBinaryField(f)); + f.addValue(new IsoValue(IsoType.NUMERIC, 999l, 5)); + Assert.assertArrayEquals(new byte[]{'O', 'n', 'e', ' ', ' ', 3, 'T', 'w', 'o', + 0,9,(byte)0x99}, f.encodeBinaryField(f)); + } + +}