public static Long parseLong(String value) {
        return parseLong(value, ZERO_RADIX);
    }
@Test
    public void parseLong() {
        Assertions.assertNull(TbUtils.parseLong(null));
        Assertions.assertNull(TbUtils.parseLong(""));
        Assertions.assertNull(TbUtils.parseLong(" "));

        Assertions.assertEquals((Long) 0L, TbUtils.parseLong("0"));
        Assertions.assertEquals((Long) 0L, TbUtils.parseLong("-0"));
        Assertions.assertEquals(java.util.Optional.of(473L).get(), TbUtils.parseLong("473"));
        Assertions.assertEquals(java.util.Optional.of(-65535L).get(), TbUtils.parseLong("-0xFFFF"));
        Assertions.assertEquals(java.util.Optional.of(4294967295L).get(), TbUtils.parseLong("FFFFFFFF"));
        Assertions.assertThrows(NumberFormatException.class, () -> TbUtils.parseLong("0xFGFFFFFF"));

        Assertions.assertEquals(java.util.Optional.of(13158L).get(), TbUtils.parseLong("11001101100110", MIN_RADIX));
        Assertions.assertEquals(java.util.Optional.of(-13158L).get(), TbUtils.parseLong("1111111111111111111111111111111111111111111111111100110010011010", MIN_RADIX));
        Assertions.assertThrows(NumberFormatException.class, () -> TbUtils.parseLong("11001101100210", MIN_RADIX));

        Assertions.assertEquals(java.util.Optional.of(9223372036854775807L).get(), TbUtils.parseLong("777777777777777777777", 8));
        Assertions.assertThrows(NumberFormatException.class, () -> TbUtils.parseLong("1787", 8));

        Assertions.assertEquals(java.util.Optional.of(-255L).get(), TbUtils.parseLong("-FF", 16));
        Assertions.assertThrows(NumberFormatException.class, () -> TbUtils.parseLong("FG", 16));


        Assertions.assertEquals(java.util.Optional.of(Long.MAX_VALUE).get(), TbUtils.parseLong(Long.toString(Long.MAX_VALUE), 10));
        Assertions.assertThrows(NumberFormatException.class, () -> TbUtils.parseLong(BigInteger.valueOf(Long.MAX_VALUE).add(BigInteger.valueOf(1)).toString(10), 10));
        Assertions.assertEquals(java.util.Optional.of(Long.MIN_VALUE).get(), TbUtils.parseLong(Long.toString(Long.MIN_VALUE), 10));
        Assertions.assertThrows(NumberFormatException.class, () -> TbUtils.parseLong(BigInteger.valueOf(Long.MIN_VALUE).subtract(BigInteger.valueOf(1)).toString(10), 10));

        Assertions.assertEquals(java.util.Optional.of(218840926543L).get(), TbUtils.parseLong("KonaLong", 27));
        Assertions.assertThrows(NumberFormatException.class, () -> TbUtils.parseLong("KonaLong", 10));

        Assertions.assertEquals(longVal, TbUtils.parseHexToLong(longValHex));
        Assertions.assertEquals(longVal, TbUtils.parseHexToLong(longValHexRev, false));
        Assertions.assertEquals(longVal, TbUtils.parseBigEndianHexToLong(longValHex));
        Assertions.assertEquals(longVal, TbUtils.parseLittleEndianHexToLong(longValHexRev));
    }