private static void digits(char[] dest, int offset, int digits, long val) { final long hi = 1L << (digits * 4); toUnsignedString(dest, offset, digits, hi | (val & (hi - 1)), 4); }
public String uuidRepr() { return NessUUID.toString(mostSigBits, leastSigBits); }
public static UUID fromString(String str) { java.util.UUID ans = NessUUID.fromString(str); return new UUID(ans.getMostSignificantBits(), ans.getLeastSignificantBits()); }
@Test public void testNumChars() { for (int i = 0; i < numChars.length; i++) { int res = NessUUID.getNibbleFromChar(numChars[i]); Assert.assertEquals(i, res); } }
private void doDecodeTest(String value, long expected) { long result = NessUUID.decode(value, new int [] { value.indexOf('-'), value.lastIndexOf('-') }, 0); Assert.assertEquals(expected, result); } }
@Test public void testDecode() { doDecodeTest("-7fffffffffffffff-", 0x7fffffffffffffffL); doDecodeTest("-8000000000000001-", 0x8000000000000001L); }
public static String toString(UUID uuid) { return toString(uuid.getMostSignificantBits(), uuid.getLeastSignificantBits()); }
public long timeNessUuidFromString(int reps) { long accum = 0; for (int i = 0; i < reps; i++) { accum += NessUUID.fromString(testStrings[i % N_UUIDS]).getMostSignificantBits(); } return accum; }
@Test public void testAlphaLowChars() { for (int i = 0; i < alphaLowChars.length; i++) { int res = NessUUID.getNibbleFromChar(alphaLowChars[i]); Assert.assertEquals(i + 10, res); } }
public long timeNessUuidToString(int reps) { long accum = 0; for (int i = 0; i < reps; i++) { accum += NessUUID.toString(testUuids[i % N_UUIDS]).charAt(0); } return accum; } }
private void testEx(String str) { try { NessUUID.fromString(hyphen1); } catch (IllegalArgumentException e) { return; } Assert.fail(str); }
@Test public void testAlphaHiChars() { for (int i = 0; i < alphaHiChars.length; i++) { int res = NessUUID.getNibbleFromChar(alphaHiChars[i]); Assert.assertEquals(i + 10, res); } }
public static String toString(UUID obj) { return NessUUID.toString(obj.getMostSignificantBits(), obj.getLeastSignificantBits()); } }
@Test public void testBasic() { Assert.assertEquals(UUID.fromString(uuid), NessUUID.fromString(uuid)); Assert.assertEquals(UUID.fromString(caseSensitivity), NessUUID.fromString(caseSensitivity)); Assert.assertEquals(UUID.fromString(overflow), NessUUID.fromString(overflow)); Assert.assertEquals(UUID.fromString(zero), NessUUID.fromString(zero)); }
@Test public void testBoundaryChars() { for (int i = 0; i < illegalChars.length; i++) { try { NessUUID.getNibbleFromChar(illegalChars[i]); Assert.fail(illegalChars[i] + " must not be accepted!"); } catch (IllegalArgumentException iae) { // ok } } } }
@Test public void test100ToString() { final long PRIME = 514229; for (long msb = 0; msb < 10; msb++) { for (long lsb = msb; lsb < msb + 10; lsb++) { UUID uuid = new UUID(msb * PRIME, lsb * PRIME * PRIME); Assert.assertEquals(uuid.toString(), NessUUID.toString(uuid)); } } }
@Test public void testLength() { final UUID uuid = NessUUID.fromString(badLength); Assert.assertEquals(0, uuid.getMostSignificantBits()); Assert.assertEquals(0, uuid.getLeastSignificantBits()); }
@Test public void testSimpleToString() { String[] uuids = new String[] { "01234567-89ab-cdef-0000-0123456789ab", "ffffffff-ffff-ffff-ffff-ffffffffffff", "00000000-0000-0000-0000-000000000000" }; for (String uuid : uuids) { Assert.assertEquals(uuid, NessUUID.toString(UUID.fromString(uuid))); } }