@@ -42,11 +42,37 @@ public void parseHex() {
4242 assertArrayEquals (defaultArray , Bytes .parseHex ("A0E1" ).array ());
4343 assertArrayEquals (defaultArray , Bytes .parseHex ("a0e1" ).array ());
4444 assertArrayEquals (defaultArray , Bytes .parseHex (Bytes .parseHex ("A0E1" ).encodeHex ()).array ());
45+ assertArrayEquals (defaultArray , Bytes .parseHex (Bytes .parseHex ("a0E1" ).encodeHex ()).array ());
46+ }
47+
48+ @ Test
49+ public void parseHexOddNumberStrings () {
50+ assertArrayEquals (new byte []{(byte ) 0x00 }, Bytes .parseHex ("0" ).array ());
51+ assertArrayEquals (new byte []{(byte ) 0x0E }, Bytes .parseHex ("E" ).array ());
52+ assertArrayEquals (new byte []{(byte ) 0x0A , (byte ) 0x0E }, Bytes .parseHex ("A0E" ).array ());
53+ assertArrayEquals (new byte []{(byte ) 0x03 , (byte ) 0xEA , (byte ) 0x0E }, Bytes .parseHex ("3EA0E" ).array ());
54+ assertArrayEquals (new byte []{(byte ) 0x00 , (byte ) 0xF3 , (byte ) 0xEA , (byte ) 0x0E }, Bytes .parseHex ("0F3EA0E" ).array ());
55+ assertArrayEquals (new byte []{(byte ) 0x0A , (byte ) 0xD0 , (byte ) 0xF3 , (byte ) 0xEA , (byte ) 0x0E }, Bytes .parseHex ("AD0F3EA0E" ).array ());
56+ }
57+
58+ @ Test (expected = IllegalArgumentException .class )
59+ public void parseHexIllegalChars () {
60+ Bytes .parseHex ("AX" );
61+ }
62+
63+ @ Test (expected = IllegalArgumentException .class )
64+ public void parseHexIllegalChars2 () {
65+ Bytes .parseHex ("XX" );
66+ }
67+
68+ @ Test (expected = IllegalArgumentException .class )
69+ public void parseHexIllegalChars3 () {
70+ Bytes .parseHex ("Y" );
4571 }
4672
4773 @ Test (expected = IllegalArgumentException .class )
48- public void parseHexInvalid () {
49- Bytes .parseHex ("A0E " );
74+ public void parseHexIllegalChars4 () {
75+ Bytes .parseHex ("F3El0E " );
5076 }
5177
5278 @ Test
0 commit comments