当前位置: 首页>>代码示例>>C++>>正文


C++ UUID::version方法代码示例

本文整理汇总了C++中UUID::version方法的典型用法代码示例。如果您正苦于以下问题:C++ UUID::version方法的具体用法?C++ UUID::version怎么用?C++ UUID::version使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UUID的用法示例。


在下文中一共展示了UUID::version方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: testNameUUIDFromBytes

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);
}
开发者ID:apache,项目名称:activemq-cpp,代码行数:27,代码来源:UUIDTest.cpp

示例2: testFromString

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);
}
开发者ID:apache,项目名称:activemq-cpp,代码行数:46,代码来源:UUIDTest.cpp

示例3:

TEST(UUIDGeneratorTest, testRandom)
{
	UUIDGenerator& gen = UUIDGenerator::defaultGenerator();

	std::set<UUID> uuids;
	for (int i = 0; i < 1000; ++i)
	{
		UUID uuid = gen.createRandom();
		EXPECT_TRUE (uuid.version() == UUID::UUID_RANDOM);
		EXPECT_TRUE (uuids.find(uuid) == uuids.end());
		uuids.insert(uuid);
	}
}
开发者ID:ichenq,项目名称:PocoNet,代码行数:13,代码来源:UUIDGeneratorTest.cpp

示例4: testRandomUUID

void UUIDTest::testRandomUUID() {
    UUID uuid = UUID::randomUUID();
    CPPUNIT_ASSERT_EQUAL(2, uuid.variant());
    CPPUNIT_ASSERT_EQUAL(4, uuid.version());
}
开发者ID:apache,项目名称:activemq-cpp,代码行数:5,代码来源:UUIDTest.cpp


注:本文中的UUID::version方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。