This commit is contained in:
Enrique Zamudio
2013-11-25 18:26:13 -06:00
parent 515724bd7e
commit d99279ec7e
+37 -3
View File
@@ -3,6 +3,9 @@ package j8583;
import com.solab.iso8583.IsoType;
import com.solab.iso8583.IsoValue;
import com.solab.iso8583.codecs.CompositeField;
import com.solab.iso8583.parse.AlphaParseInfo;
import com.solab.iso8583.parse.LlvarParseInfo;
import com.solab.iso8583.parse.NumericParseInfo;
import org.junit.Assert;
import org.junit.Test;
@@ -14,6 +17,10 @@ import org.junit.Test;
*/
public class TestComposites {
final String textData = "One 03Two00999";
final byte[] binaryData = new byte[]{'O', 'n', 'e', ' ', ' ', 3, 'T', 'w', 'o',
0, 9, (byte) 0x99};
@Test
public void testEncodeText() {
final CompositeField f = new CompositeField();
@@ -25,7 +32,7 @@ public class TestComposites {
Assert.assertEquals("One 03Two", f.encodeField(f));
f.addValue(new IsoValue<Long>(IsoType.NUMERIC, 999l, 5));
f.getValues().get(2).setCharacterEncoding("UTF-8");
Assert.assertEquals("One 03Two00999", f.encodeField(f));
Assert.assertEquals(textData, f.encodeField(f));
}
@Test
@@ -38,8 +45,35 @@ public class TestComposites {
Assert.assertArrayEquals(new byte[]{'O', 'n', 'e', ' ', ' ', 3, 'T', 'w', 'o'},
f.encodeBinaryField(f));
f.addValue(new IsoValue<Long>(IsoType.NUMERIC, 999l, 5));
Assert.assertArrayEquals(new byte[]{'O', 'n', 'e', ' ', ' ', 3, 'T', 'w', 'o',
0,9,(byte)0x99}, f.encodeBinaryField(f));
Assert.assertArrayEquals(binaryData, f.encodeBinaryField(f));
}
@Test
public void testDecodeText() {
final CompositeField dec = new CompositeField()
.addParser(new AlphaParseInfo(5))
.addParser(new LlvarParseInfo())
.addParser(new NumericParseInfo(5));
final CompositeField f = dec.decodeField(textData);
Assert.assertNotNull(f);
Assert.assertEquals(3, f.getValues().size());
Assert.assertEquals("One ", f.getValues().get(0).getValue());
Assert.assertEquals("Two", f.getValues().get(1).getValue());
Assert.assertEquals("00999", f.getValues().get(2).getValue());
}
@Test
public void testDecodeBinary() {
final CompositeField dec = new CompositeField()
.addParser(new AlphaParseInfo(5))
.addParser(new LlvarParseInfo())
.addParser(new NumericParseInfo(5));
final CompositeField f = dec.decodeBinaryField(binaryData, 0, binaryData.length);
Assert.assertNotNull(f);
Assert.assertEquals(3, f.getValues().size());
Assert.assertEquals("One ", f.getValues().get(0).getValue());
Assert.assertEquals("Two", f.getValues().get(1).getValue());
Assert.assertEquals(999l, f.getValues().get(2).getValue());
}
}