@@ -249,6 +249,7 @@ public void testDecodeByteBufferAllocatedButEmpty() throws DecoderException {
249249 // Effectively set remaining == 0 => empty
250250 bb .flip ();
251251 assertTrue (Arrays .equals (new byte [0 ], new Hex ().decode (bb )));
252+ assertEquals (0 , bb .remaining ());
252253 }
253254
254255 @ Test
@@ -258,16 +259,19 @@ public void testDecodeByteBufferObjectEmpty() throws DecoderException {
258259
259260 @ Test
260261 public void testDecodeByteBufferOddCharacters () {
261- checkDecodeHexByteBufferOddCharacters (ByteBuffer .wrap (new byte [] { 65 }));
262+ final ByteBuffer bb = allocate (1 );
263+ bb .put ((byte ) 65 );
264+ bb .flip ();
265+ checkDecodeHexByteBufferOddCharacters (bb );
262266 }
263267
264268 @ Test
265269 public void testDecodeByteBufferWithLimitOddCharacters () {
266- final ByteBuffer buffer = allocate (10 );
267- buffer .put (1 , (byte ) 65 );
268- buffer .position (1 );
269- buffer .limit (2 );
270- checkDecodeHexByteBufferOddCharacters (buffer );
270+ final ByteBuffer bb = allocate (10 );
271+ bb .put (1 , (byte ) 65 );
272+ bb .position (1 );
273+ bb .limit (2 );
274+ checkDecodeHexByteBufferOddCharacters (bb );
271275 }
272276
273277 @ Test
@@ -334,6 +338,7 @@ public void testDecodeByteBufferWithLimit() throws DecoderException {
334338 bb .position (i * 2 );
335339 bb .limit (i * 2 + 4 );
336340 assertEquals (new String (Arrays .copyOfRange (expected , i , i + 2 )), new String (new Hex ().decode (bb )));
341+ assertEquals (0 , bb .remaining ());
337342 }
338343 }
339344
@@ -358,6 +363,7 @@ public void testEncodeByteBufferAllocatedButEmpty() {
358363 // Effectively set remaining == 0 => empty
359364 bb .flip ();
360365 assertTrue (Arrays .equals (new byte [0 ], new Hex ().encode (bb )));
366+ assertEquals (0 , bb .remaining ());
361367 }
362368
363369 @ Test
@@ -457,25 +463,41 @@ public void testEncodeHexByteBufferHelloWorldLowerCaseHex() {
457463 final ByteBuffer b = StringUtils .getByteBufferUtf8 ("Hello World" );
458464 final String expected = "48656c6c6f20576f726c64" ;
459465 char [] actual ;
466+ // Default lower-case
460467 actual = Hex .encodeHex (b );
461468 assertEquals (expected , new String (actual ));
469+ assertEquals (0 , b .remaining ());
470+ // lower-case
471+ b .flip ();
462472 actual = Hex .encodeHex (b , true );
463473 assertEquals (expected , new String (actual ));
474+ assertEquals (0 , b .remaining ());
475+ // upper-case
476+ b .flip ();
464477 actual = Hex .encodeHex (b , false );
465- assertFalse (expected .equals (new String (actual )));
478+ assertEquals (expected .toUpperCase (), new String (actual ));
479+ assertEquals (0 , b .remaining ());
466480 }
467481
468482 @ Test
469483 public void testEncodeHexByteBufferHelloWorldUpperCaseHex () {
470484 final ByteBuffer b = StringUtils .getByteBufferUtf8 ("Hello World" );
471485 final String expected = "48656C6C6F20576F726C64" ;
472486 char [] actual ;
487+ // Default lower-case
473488 actual = Hex .encodeHex (b );
474- assertFalse (expected .equals (new String (actual )));
489+ assertEquals (expected .toLowerCase (), new String (actual ));
490+ assertEquals (0 , b .remaining ());
491+ // lower-case
492+ b .flip ();
475493 actual = Hex .encodeHex (b , true );
476- assertFalse (expected .equals (new String (actual )));
494+ assertEquals (expected .toLowerCase (), new String (actual ));
495+ assertEquals (0 , b .remaining ());
496+ // upper-case
497+ b .flip ();
477498 actual = Hex .encodeHex (b , false );
478- assertTrue (expected .equals (new String (actual )));
499+ assertEquals (expected , new String (actual ));
500+ assertEquals (0 , b .remaining ());
479501 }
480502
481503 @ Test
@@ -486,13 +508,18 @@ public void testEncodeHex_ByteBufferOfZeroes() {
486508
487509 @ Test
488510 public void testEncodeHex_ByteBufferWithLimit () {
489- final ByteBuffer bb = ByteBuffer .wrap (new byte [] { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 });
511+ final ByteBuffer bb = allocate (16 );
512+ for (int i = 0 ; i < 16 ; i ++) {
513+ bb .put ((byte ) i );
514+ }
515+ bb .flip ();
490516 final String expected = "000102030405060708090a0b0c0d0e0f" ;
491517 // Test pairs of bytes
492518 for (int i = 0 ; i < 15 ; i ++) {
493519 bb .position (i );
494520 bb .limit (i + 2 );
495521 assertEquals (expected .substring (i * 2 , i * 2 + 4 ), new String (Hex .encodeHex (bb )));
522+ assertEquals (0 , bb .remaining ());
496523 }
497524 }
498525
@@ -507,9 +534,11 @@ public void testEncodeHexByteString_ByteBufferOfZeroesWithLimit() {
507534 final ByteBuffer bb = allocate (36 );
508535 bb .limit (3 );
509536 assertEquals ("000000" , Hex .encodeHexString (bb ));
537+ assertEquals (0 , bb .remaining ());
510538 bb .position (1 );
511539 bb .limit (3 );
512540 assertEquals ("0000" , Hex .encodeHexString (bb ));
541+ assertEquals (0 , bb .remaining ());
513542 }
514543
515544 @ Test
@@ -530,12 +559,18 @@ public void testEncodeHexByteString_ByteArrayBoolean_ToUpperCase() {
530559
531560 @ Test
532561 public void testEncodeHexByteString_ByteBufferBoolean_ToLowerCase () {
533- assertEquals ("0a" , Hex .encodeHexString (ByteBuffer .wrap (new byte [] { 10 }), true ));
562+ final ByteBuffer bb = allocate (1 );
563+ bb .put ((byte ) 10 );
564+ bb .flip ();
565+ assertEquals ("0a" , Hex .encodeHexString (bb , true ));
534566 }
535567
536568 @ Test
537569 public void testEncodeHexByteString_ByteBufferBoolean_ToUpperCase () {
538- assertEquals ("0A" , Hex .encodeHexString (ByteBuffer .wrap (new byte [] { 10 }), false ));
570+ final ByteBuffer bb = allocate (1 );
571+ bb .put ((byte ) 10 );
572+ bb .flip ();
573+ assertEquals ("0A" , Hex .encodeHexString (bb , false ));
539574 }
540575
541576 @ Test
@@ -545,6 +580,7 @@ public void testEncodeHexByteString_ByteBufferWithLimitBoolean_ToLowerCase() {
545580 bb .position (1 );
546581 bb .limit (2 );
547582 assertEquals ("0a" , Hex .encodeHexString (bb , true ));
583+ assertEquals (0 , bb .remaining ());
548584 }
549585
550586 @ Test
@@ -554,6 +590,7 @@ public void testEncodeHexByteString_ByteBufferWithLimitBoolean_ToUpperCase() {
554590 bb .position (1 );
555591 bb .limit (2 );
556592 assertEquals ("0A" , Hex .encodeHexString (bb , false ));
593+ assertEquals (0 , bb .remaining ());
557594 }
558595
559596 @ Test
0 commit comments