47 lines
1.3 KiB
Java
47 lines
1.3 KiB
Java
package com.solab.iso8583.util;
|
|
|
|
import org.junit.Assert;
|
|
import org.junit.Test;
|
|
|
|
public class TestHexCodec {
|
|
|
|
public void encodeDecode(String hex) {
|
|
byte[] buf = HexCodec.hexDecode(hex);
|
|
Assert.assertEquals((hex.length() / 2) + (hex.length() % 2), buf.length);
|
|
String reenc = HexCodec.hexEncode(buf, 0, buf.length);
|
|
if (reenc.startsWith("0") && !hex.startsWith("0")) {
|
|
Assert.assertEquals(reenc.substring(1), hex);
|
|
} else {
|
|
Assert.assertEquals(hex, reenc);
|
|
}
|
|
}
|
|
|
|
@Test
|
|
public void testCodec() {
|
|
byte[] buf = HexCodec.hexDecode("A");
|
|
Assert.assertEquals(0x0a, buf[0]);
|
|
encodeDecode("A");
|
|
encodeDecode("0123456789ABCDEF");
|
|
buf = HexCodec.hexDecode("0123456789ABCDEF");
|
|
Assert.assertEquals(1, buf[0]);
|
|
Assert.assertEquals(0x23, buf[1]);
|
|
Assert.assertEquals(0x45, buf[2]);
|
|
Assert.assertEquals(0x67, buf[3]);
|
|
Assert.assertEquals(0x89, (buf[4] & 0xff));
|
|
Assert.assertEquals(0xab, (buf[5] & 0xff));
|
|
Assert.assertEquals(0xcd, (buf[6] & 0xff));
|
|
Assert.assertEquals(0xef, (buf[7] & 0xff));
|
|
buf = HexCodec.hexDecode("ABC");
|
|
Assert.assertEquals(0x0a, (buf[0] & 0xff));
|
|
Assert.assertEquals(0xbc, (buf[1] & 0xff));
|
|
encodeDecode("ABC");
|
|
}
|
|
|
|
@Test
|
|
public void testPartial() {
|
|
Assert.assertEquals("FF01", HexCodec.hexEncode(new byte[]{0, (byte)0xff, 1, 2, 3, 4},
|
|
1, 2));
|
|
}
|
|
|
|
}
|