@@ -307,7 +307,6 @@ public void testToLongEmptyArray() {
307307 assertArrayEquals (new long [0 ], Bytes .empty ().toLongArray ());
308308 }
309309
310-
311310 @ Test
312311 public void testToLongArrayLittleEndian () {
313312 assertArrayEquals (new long []{1 }, Bytes .wrap (new byte []{1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, ByteOrder .LITTLE_ENDIAN ).toLongArray ());
@@ -322,4 +321,89 @@ public void testToLongArrayLittleEndian() {
322321 1 , 1 , 1 , 0 , 0 , 0 , 1 , 0 ,
323322 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, ByteOrder .LITTLE_ENDIAN ).toLongArray ());
324323 }
324+
325+ @ Test
326+ public void testToFloatArray () {
327+ assertArrayEquals (new float []{1.4E-45f }, Bytes .wrap (new byte []{0 , 0 , 0 , 1 }).toFloatArray (), 0.01f );
328+ assertArrayEquals (new float []{3.6E-43f }, Bytes .wrap (new byte []{0 , 0 , 1 , 1 }).toFloatArray (), 0.01f );
329+ assertArrayEquals (new float []{9.2196E-41f }, Bytes .wrap (new byte []{0 , 1 , 1 , 1 }).toFloatArray (), 0.01f );
330+ assertArrayEquals (new float []{2.3694278E-38f }, Bytes .wrap (new byte []{1 , 1 , 1 , 1 }).toFloatArray (), 0.01f );
331+ assertArrayEquals (new float []{1.897368E-18f }, Bytes .wrap (new byte []{34 , 12 , 0 , 69 }).toFloatArray (), 0.01f );
332+ assertArrayEquals (new float []{1.22888184E8f }, Bytes .wrap (new byte []{76 , (byte ) 234 , 99 , (byte ) 255 }).toFloatArray (), 0.01f );
333+
334+ assertArrayEquals (new float []{1.4E-45f , 1.4E-45f }, Bytes .wrap (new byte []{0 , 0 , 0 , 1 , 0 , 0 , 0 , 1 }).toFloatArray (), 0.01f );
335+ assertArrayEquals (new float []{3.6E-43f , 1.4E-45f }, Bytes .wrap (new byte []{0 , 0 , 1 , 1 , 0 , 0 , 0 , 1 }).toFloatArray (), 0.01f );
336+ assertArrayEquals (new float []{3.6E-43f , 9.2196E-41f , 1.4E-45f }, Bytes .wrap (new byte []{0 , 0 , 1 , 1 , 0 , 1 , 1 , 1 , 0 , 0 , 0 , 1 }).toFloatArray (), 0.01f );
337+ }
338+
339+ @ Test (expected = IllegalArgumentException .class )
340+ public void testToFloatArrayNotMod4Was5Byte () {
341+ Bytes .wrap (new byte []{1 , 0 , 0 , 0 , 1 }).toFloatArray ();
342+ }
343+
344+ @ Test (expected = IllegalArgumentException .class )
345+ public void testToFloatArrayNotMod4Only3Byte () {
346+ Bytes .wrap (new byte []{0 , 0 , 1 }).toFloatArray ();
347+ }
348+
349+ @ Test
350+ public void testToFloatEmptyArray () {
351+ assertArrayEquals (new float [0 ], Bytes .empty ().toFloatArray (), 0.01f );
352+ }
353+
354+ @ Test
355+ public void testToFloatArrayLittleEndian () {
356+ assertArrayEquals (new float []{1.4E-45f }, Bytes .wrap (new byte []{1 , 0 , 0 , 0 }, ByteOrder .LITTLE_ENDIAN ).toFloatArray (), 0.01f );
357+ assertArrayEquals (new float []{3.6E-43f }, Bytes .wrap (new byte []{1 , 1 , 0 , 0 }, ByteOrder .LITTLE_ENDIAN ).toFloatArray (), 0.01f );
358+ assertArrayEquals (new float []{1.22888184E8f }, Bytes .wrap (new byte []{(byte ) 255 , 99 , (byte ) 234 , 76 }, ByteOrder .LITTLE_ENDIAN ).toFloatArray (), 0.01f );
359+
360+ assertArrayEquals (new float []{1.4E-45f , 1.4E-45f }, Bytes .wrap (new byte []{1 , 0 , 0 , 0 , 1 , 0 , 0 , 0 }, ByteOrder .LITTLE_ENDIAN ).toFloatArray (), 0.01f );
361+ assertArrayEquals (new float []{3.6E-43f , 1.4E-45f }, Bytes .wrap (new byte []{1 , 1 , 0 , 0 , 1 , 0 , 0 , 0 }, ByteOrder .LITTLE_ENDIAN ).toFloatArray (), 0.01f );
362+ assertArrayEquals (new float []{3.6E-43f , 9.2196E-41f , 1.4E-45f }, Bytes .wrap (new byte []{1 , 1 , 0 , 0 , 1 , 1 , 1 , 0 , 1 , 0 , 0 , 0 }, ByteOrder .LITTLE_ENDIAN ).toFloatArray (), 0.01f );
363+ }
364+
365+ @ Test
366+ public void testToDoubleArray () {
367+ assertArrayEquals (new double []{1.4E-45 }, Bytes .wrap (new byte []{0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 }).toDoubleArray (), 0.01 );
368+ assertArrayEquals (new double []{3.6E-43 }, Bytes .wrap (new byte []{0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 }).toDoubleArray (), 0.01 );
369+ assertArrayEquals (new double []{4.228405109821336E-86 }, Bytes .wrap (new byte []{46 , 53 , 7 , 98 , 34 , 12 , 0 , 69 }).toDoubleArray (), 0.01 );
370+ assertArrayEquals (new double []{-2.385279556059394E-168 }, Bytes .wrap (new byte []{(byte ) 157 , 34 , 1 , 0 , 76 , (byte ) 234 , 99 , (byte ) 255 }).toDoubleArray (), 0.01 );
371+
372+ assertArrayEquals (new double []{1.4E-45 , 1.4E-45 }, Bytes .wrap (new byte []{0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 }).toDoubleArray (), 0.01 );
373+ assertArrayEquals (new double []{3.6E-43 , 1.4E-45 }, Bytes .wrap (new byte []{0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 }).toDoubleArray (), 0.01 );
374+ assertArrayEquals (new double []{5.43230922614E-312 , 1.39067116189206E-309 , 1.4E-45 }, Bytes .wrap (new byte []{
375+ 0 , 0 , 1 , 0 , 0 , 0 , 1 , 1 ,
376+ 0 , 1 , 0 , 0 , 0 , 1 , 1 , 1 ,
377+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 }).toDoubleArray (), 0.01 );
378+ }
379+
380+ @ Test (expected = IllegalArgumentException .class )
381+ public void testToDoubleArrayNotMod4Was9Byte () {
382+ Bytes .wrap (new byte []{0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 }).toDoubleArray ();
383+ }
384+
385+ @ Test (expected = IllegalArgumentException .class )
386+ public void testToDoubleArrayNotMod4Only7Byte () {
387+ Bytes .wrap (new byte []{0 , 0 , 0 , 0 , 0 , 0 , 1 }).toDoubleArray ();
388+ }
389+
390+ @ Test
391+ public void testToDoubleEmptyArray () {
392+ assertArrayEquals (new double [0 ], Bytes .empty ().toDoubleArray (), 0.01 );
393+ }
394+
395+ @ Test
396+ public void testToDoubleArrayLittleEndian () {
397+ assertArrayEquals (new double []{1.4E-45 }, Bytes .wrap (new byte []{1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, ByteOrder .LITTLE_ENDIAN ).toDoubleArray (), 0.01 );
398+ assertArrayEquals (new double []{3.6E-43 }, Bytes .wrap (new byte []{1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 }, ByteOrder .LITTLE_ENDIAN ).toDoubleArray (), 0.01 );
399+ assertArrayEquals (new double []{4.228405109821336E-86 }, Bytes .wrap (new byte []{69 , 0 , 12 , 34 , 98 , 7 , 53 , 46 }, ByteOrder .LITTLE_ENDIAN ).toDoubleArray (), 0.01 );
400+ assertArrayEquals (new double []{-2.385279556059394E-168 }, Bytes .wrap (new byte []{(byte ) 255 , 99 , (byte ) 234 , 76 , 0 , 1 , 34 , (byte ) 157 }, ByteOrder .LITTLE_ENDIAN ).toDoubleArray (), 0.01 );
401+
402+ assertArrayEquals (new double []{1.4E-45 , 1.4E-45 }, Bytes .wrap (new byte []{1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, ByteOrder .LITTLE_ENDIAN ).toDoubleArray (), 0.01 );
403+ assertArrayEquals (new double []{3.6E-43f , 1.4E-45 }, Bytes .wrap (new byte []{1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, ByteOrder .LITTLE_ENDIAN ).toDoubleArray (), 0.01 );
404+ assertArrayEquals (new double []{5.43230922614E-312 , 1.39067116189206E-309 , 1.4E-45 }, Bytes .wrap (new byte []{
405+ 1 , 1 , 0 , 0 , 0 , 1 , 0 , 0 ,
406+ 1 , 1 , 1 , 0 , 0 , 0 , 1 , 0 ,
407+ 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, ByteOrder .LITTLE_ENDIAN ).toDoubleArray (), 0.01 );
408+ }
325409}
0 commit comments