|
|
|
@ -330,8 +330,8 @@ public class TbUtilsTest { |
|
|
|
@Test |
|
|
|
public void parseBytesIntToFloat() { |
|
|
|
byte[] intValByte = {0x00, 0x00, 0x00, 0x0A}; |
|
|
|
Float valueExpected = 10.0f; |
|
|
|
Float valueActual = TbUtils.parseBytesIntToFloat(intValByte, 3, 1, true); |
|
|
|
float valueExpected = 10.0f; |
|
|
|
float valueActual = TbUtils.parseBytesIntToFloat(intValByte, 3, 1, true); |
|
|
|
Assertions.assertEquals(valueExpected, valueActual); |
|
|
|
valueActual = TbUtils.parseBytesIntToFloat(intValByte, 3, 1, false); |
|
|
|
Assertions.assertEquals(valueExpected, valueActual); |
|
|
|
@ -345,20 +345,23 @@ public class TbUtilsTest { |
|
|
|
valueExpected = 10.0f; |
|
|
|
valueActual = TbUtils.parseBytesIntToFloat(intValByte, 0, 4, true); |
|
|
|
Assertions.assertEquals(valueExpected, valueActual); |
|
|
|
valueExpected = 1.6777216E8f; |
|
|
|
valueActual = TbUtils.parseBytesIntToFloat(intValByte, 0, 4, false); |
|
|
|
valueExpected = 167772.16f; |
|
|
|
double factor = 1e3; |
|
|
|
valueActual = (float) (TbUtils.parseBytesIntToFloat(intValByte, 0, 4, false) / factor); |
|
|
|
|
|
|
|
Assertions.assertEquals(valueExpected, valueActual); |
|
|
|
|
|
|
|
String dataAT101 = "0x01756403671B01048836BF7701F000090722050000"; |
|
|
|
List<Byte> byteAT101 = TbUtils.hexToBytes(ctx, dataAT101); |
|
|
|
float latitudeExpected = 24.62495f; |
|
|
|
int offset = 9; |
|
|
|
valueActual = TbUtils.parseBytesIntToFloat(byteAT101, offset, 4, false); |
|
|
|
Assertions.assertEquals(latitudeExpected, valueActual / 1000000); |
|
|
|
factor = 1e6; |
|
|
|
valueActual = (float) (TbUtils.parseBytesIntToFloat(byteAT101, offset, 4, false) / factor); |
|
|
|
Assertions.assertEquals(latitudeExpected, valueActual); |
|
|
|
|
|
|
|
float longitudeExpected = 118.030576f; |
|
|
|
valueActual = TbUtils.parseBytesIntToFloat(byteAT101, offset + 4, 4, false); |
|
|
|
Assertions.assertEquals(longitudeExpected, valueActual / 1000000); |
|
|
|
valueActual = (float) (TbUtils.parseBytesIntToFloat(byteAT101, offset + 4, 4, false) / factor); |
|
|
|
Assertions.assertEquals(longitudeExpected, valueActual); |
|
|
|
|
|
|
|
valueExpected = 9.185175E8f; |
|
|
|
valueActual = TbUtils.parseBytesIntToFloat(byteAT101, offset); |
|
|
|
@ -520,6 +523,18 @@ public class TbUtilsTest { |
|
|
|
valueExpected = 7.2057594037927936E17d; |
|
|
|
valueActual = TbUtils.parseBytesLongToDouble(longValByte, 0, 8, false); |
|
|
|
Assertions.assertEquals(valueExpected, valueActual); |
|
|
|
|
|
|
|
String dataPalacKiyv = "0x32D009423F23B300B0106E08D96B6C00"; |
|
|
|
List<Byte> byteAT101 = TbUtils.hexToBytes(ctx, dataPalacKiyv); |
|
|
|
double latitudeExpected = 50.422775429058610d; |
|
|
|
int offset = 0; |
|
|
|
double factor = 1e15; |
|
|
|
valueActual = TbUtils.parseBytesLongToDouble(byteAT101, offset, 8, false); |
|
|
|
Assertions.assertEquals(latitudeExpected, valueActual / factor); |
|
|
|
|
|
|
|
double longitudeExpected = 30.517877378257072d; |
|
|
|
valueActual = TbUtils.parseBytesLongToDouble(byteAT101, offset + 8, 8, false); |
|
|
|
Assertions.assertEquals(longitudeExpected, valueActual / factor); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
@ -720,27 +735,27 @@ public class TbUtilsTest { |
|
|
|
|
|
|
|
@Test |
|
|
|
public void numberToString_Test() { |
|
|
|
Assertions.assertEquals("00111010", TbUtils.intLongToString(58L, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("0000000010011110", TbUtils.intLongToString(158L, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("00000000000000100000001000000001", TbUtils.intLongToString(131585L, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("0111111111111111111111111111111111111111111111111111111111111111", TbUtils.intLongToString(Long.MAX_VALUE, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("1000000000000000000000000000000000000000000000000000000000000001", TbUtils.intLongToString(-Long.MAX_VALUE, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("1111111111111111111111111111111111111111111111111111111110011010", TbUtils.intLongToString(-102L, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("1111111111111111111111111111111111111111111111111100110010011010", TbUtils.intLongToString(-13158L, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("777777777777777777777", TbUtils.intLongToString(Long.MAX_VALUE, 8)); |
|
|
|
Assertions.assertEquals("1000000000000000000000", TbUtils.intLongToString(Long.MIN_VALUE, 8)); |
|
|
|
Assertions.assertEquals("9223372036854775807", TbUtils.intLongToString(Long.MAX_VALUE)); |
|
|
|
Assertions.assertEquals("-9223372036854775808", TbUtils.intLongToString(Long.MIN_VALUE)); |
|
|
|
Assertions.assertEquals("3366", TbUtils.intLongToString(13158L, 16)); |
|
|
|
Assertions.assertEquals("FFCC9A", TbUtils.intLongToString(-13158L, 16)); |
|
|
|
Assertions.assertEquals("0xFFCC9A", TbUtils.intLongToString(-13158L, 16, true, true)); |
|
|
|
|
|
|
|
Assertions.assertEquals("0x0400", TbUtils.intLongToString(1024L, 16, true, true)); |
|
|
|
Assertions.assertNotEquals("400", TbUtils.intLongToString(1024L, 16)); |
|
|
|
Assertions.assertEquals("0xFFFC00", TbUtils.intLongToString(-1024L, 16, true, true)); |
|
|
|
Assertions.assertNotEquals("0xFC00", TbUtils.intLongToString(-1024L, 16, true, true)); |
|
|
|
|
|
|
|
Assertions.assertEquals("hazelnut", TbUtils.intLongToString(1356099454469L, MAX_RADIX)); |
|
|
|
Assertions.assertEquals("00111010", TbUtils.intLongToRadixString(58L, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("0000000010011110", TbUtils.intLongToRadixString(158L, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("00000000000000100000001000000001", TbUtils.intLongToRadixString(131585L, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("0111111111111111111111111111111111111111111111111111111111111111", TbUtils.intLongToRadixString(Long.MAX_VALUE, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("1000000000000000000000000000000000000000000000000000000000000001", TbUtils.intLongToRadixString(-Long.MAX_VALUE, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("1111111111111111111111111111111111111111111111111111111110011010", TbUtils.intLongToRadixString(-102L, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("1111111111111111111111111111111111111111111111111100110010011010", TbUtils.intLongToRadixString(-13158L, MIN_RADIX)); |
|
|
|
Assertions.assertEquals("777777777777777777777", TbUtils.intLongToRadixString(Long.MAX_VALUE, 8)); |
|
|
|
Assertions.assertEquals("1000000000000000000000", TbUtils.intLongToRadixString(Long.MIN_VALUE, 8)); |
|
|
|
Assertions.assertEquals("9223372036854775807", TbUtils.intLongToRadixString(Long.MAX_VALUE)); |
|
|
|
Assertions.assertEquals("-9223372036854775808", TbUtils.intLongToRadixString(Long.MIN_VALUE)); |
|
|
|
Assertions.assertEquals("3366", TbUtils.intLongToRadixString(13158L, 16)); |
|
|
|
Assertions.assertEquals("FFCC9A", TbUtils.intLongToRadixString(-13158L, 16)); |
|
|
|
Assertions.assertEquals("0xFFCC9A", TbUtils.intLongToRadixString(-13158L, 16, true, true)); |
|
|
|
|
|
|
|
Assertions.assertEquals("0x0400", TbUtils.intLongToRadixString(1024L, 16, true, true)); |
|
|
|
Assertions.assertNotEquals("400", TbUtils.intLongToRadixString(1024L, 16)); |
|
|
|
Assertions.assertEquals("0xFFFC00", TbUtils.intLongToRadixString(-1024L, 16, true, true)); |
|
|
|
Assertions.assertNotEquals("0xFC00", TbUtils.intLongToRadixString(-1024L, 16, true, true)); |
|
|
|
|
|
|
|
Assertions.assertEquals("hazelnut", TbUtils.intLongToRadixString(1356099454469L, MAX_RADIX)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
@ -1067,6 +1082,18 @@ public class TbUtilsTest { |
|
|
|
String actual = TbUtils.hexToBase64(hex); |
|
|
|
Assertions.assertEquals(expected, actual); |
|
|
|
} |
|
|
|
@Test |
|
|
|
public void bytesToHex_Test() { |
|
|
|
byte[] bb = {(byte) 0xBB, (byte) 0xAA}; |
|
|
|
String expected = "BBAA"; |
|
|
|
String actual = TbUtils.bytesToHex(bb); |
|
|
|
Assertions.assertEquals(expected, actual); |
|
|
|
ExecutionArrayList<Integer> expectedList = new ExecutionArrayList<>(ctx); |
|
|
|
expectedList.addAll(List.of(-69, 83)); |
|
|
|
expected = "BB53"; |
|
|
|
actual = TbUtils.bytesToHex(expectedList); |
|
|
|
Assertions.assertEquals(expected, actual); |
|
|
|
} |
|
|
|
|
|
|
|
private static List<Byte> toList(byte[] data) { |
|
|
|
List<Byte> result = new ArrayList<>(data.length); |
|
|
|
|