void UUIDTest::testNameUUIDFromBytes() { char name[16] = { (char) 0x6b, (char) 0xa7, (char) 0xb8, (char) 0x11, (char) 0x9d, (char) 0xad, (char) 0x11, (char) 0xd1, (char) 0x80, (char) 0xb4, (char) 0x00, (char) 0xc0, (char) 0x4f, (char) 0xd4, (char) 0x30, (char) 0xc8 }; UUID uuid = UUID::nameUUIDFromBytes(&name[0], 16); CPPUNIT_ASSERT_EQUAL(2, uuid.variant()); CPPUNIT_ASSERT_EQUAL(3, uuid.version()); CPPUNIT_ASSERT_EQUAL(0xaff565bc2f771745ULL, (unsigned long long) uuid.getLeastSignificantBits()); CPPUNIT_ASSERT_EQUAL(0x14cdb9b4de013faaLL, uuid.getMostSignificantBits()); uuid = UUID::nameUUIDFromBytes(std::vector<char>()); CPPUNIT_ASSERT_EQUAL(2, uuid.variant()); CPPUNIT_ASSERT_EQUAL(3, uuid.version()); CPPUNIT_ASSERT_EQUAL(0xa9800998ecf8427eULL, (unsigned long long) uuid.getLeastSignificantBits()); CPPUNIT_ASSERT_EQUAL(0xd41d8cd98f003204ULL, (unsigned long long) uuid.getMostSignificantBits()); CPPUNIT_ASSERT_THROW_MESSAGE( "Should throw an NullPointerException exception", UUID::nameUUIDFromBytes(NULL, 1), NullPointerException); }
void UUIDTest::testFromString() { UUID actual = UUID::fromString("f81d4fae-7dec-11d0-a765-00a0c91e6bf6"); UUID expected = UUID(0xf81d4fae7dec11d0LL, 0xa76500a0c91e6bf6LL); CPPUNIT_ASSERT(expected.equals(actual)); CPPUNIT_ASSERT_EQUAL(2, actual.variant()); CPPUNIT_ASSERT_EQUAL(1, actual.version()); CPPUNIT_ASSERT_EQUAL(130742845922168750LL, actual.timestamp()); CPPUNIT_ASSERT_EQUAL(10085, actual.clockSequence()); CPPUNIT_ASSERT_EQUAL(690568981494LL, actual.node()); actual = UUID::fromString("00000000-0000-1000-8000-000000000000"); expected = UUID(0x0000000000001000LL, 0x8000000000000000L); CPPUNIT_ASSERT(expected.equals(actual)); CPPUNIT_ASSERT_EQUAL(2, actual.variant()); CPPUNIT_ASSERT_EQUAL(1, actual.version()); CPPUNIT_ASSERT_EQUAL(0LL, actual.timestamp()); CPPUNIT_ASSERT_EQUAL(0, actual.clockSequence()); CPPUNIT_ASSERT_EQUAL(0LL, actual.node()); CPPUNIT_ASSERT_THROW_MESSAGE( "Should throw an IllegalArgumentException exception", UUID::fromString(""), IllegalArgumentException); CPPUNIT_ASSERT_THROW_MESSAGE( "Should throw an IllegalArgumentException exception", UUID::fromString("f81d4fae_7dec-11d0-a765-00a0c91e6bf6"), IllegalArgumentException); CPPUNIT_ASSERT_THROW_MESSAGE( "Should throw an IllegalArgumentException exception", UUID::fromString("f81d4fae-7dec_11d0-a765-00a0c91e6bf6"), IllegalArgumentException); CPPUNIT_ASSERT_THROW_MESSAGE( "Should throw an IllegalArgumentException exception", UUID::fromString("f81d4fae-7dec-11d0_a765-00a0c91e6bf6"), IllegalArgumentException); CPPUNIT_ASSERT_THROW_MESSAGE( "Should throw an IllegalArgumentException exception", UUID::fromString("f81d4fae-7dec-11d0-a765_00a0c91e6bf6"), IllegalArgumentException); }
void UUIDTest::testRandomUUID() { UUID uuid = UUID::randomUUID(); CPPUNIT_ASSERT_EQUAL(2, uuid.variant()); CPPUNIT_ASSERT_EQUAL(4, uuid.version()); }