Skip to content

Commit 0f76a78

Browse files
committed
Merge pull request #200 from datastax/283-tests
CPP-283: Adding test for epoch timestamp conversion to UUID
2 parents 5d5d43e + 577d75e commit 0f76a78

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

test/unit_tests/src/test_uuids.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,39 @@ BOOST_AUTO_TEST_CASE(v1)
6868
cass_uuid_gen_free(uuid_gen);
6969
}
7070

71+
BOOST_AUTO_TEST_CASE(v1_min_max)
72+
{
73+
cass_uint64_t founded_ts = 1270080000; // April 2010
74+
cass_uint64_t curr_ts = cass::get_time_since_epoch_in_ms();
75+
76+
CassUuid min_uuid_1;
77+
CassUuid min_uuid_2;
78+
cass_uuid_min_from_time(founded_ts, &min_uuid_1);
79+
cass_uuid_min_from_time(curr_ts, &min_uuid_2);
80+
BOOST_CHECK(founded_ts == cass_uuid_timestamp(min_uuid_1));
81+
BOOST_CHECK(curr_ts == cass_uuid_timestamp(min_uuid_2));
82+
BOOST_CHECK(cass_uuid_version(min_uuid_1) == 1);
83+
BOOST_CHECK(cass_uuid_version(min_uuid_2) == 1);
84+
BOOST_CHECK_EQUAL(min_uuid_1.clock_seq_and_node, min_uuid_2.clock_seq_and_node);
85+
BOOST_CHECK_NE(min_uuid_1.time_and_version, min_uuid_2.time_and_version);
86+
87+
CassUuid max_uuid_1;
88+
CassUuid max_uuid_2;
89+
cass_uuid_max_from_time(founded_ts, &max_uuid_1);
90+
cass_uuid_max_from_time(curr_ts, &max_uuid_2);
91+
BOOST_CHECK(founded_ts == cass_uuid_timestamp(max_uuid_1));
92+
BOOST_CHECK(curr_ts == cass_uuid_timestamp(max_uuid_2));
93+
BOOST_CHECK(cass_uuid_version(max_uuid_1) == 1);
94+
BOOST_CHECK(cass_uuid_version(max_uuid_2) == 1);
95+
BOOST_CHECK_EQUAL(max_uuid_1.clock_seq_and_node, max_uuid_2.clock_seq_and_node);
96+
BOOST_CHECK_NE(max_uuid_1.time_and_version, max_uuid_2.time_and_version);
97+
98+
BOOST_CHECK_NE(min_uuid_1.clock_seq_and_node, max_uuid_1.clock_seq_and_node);
99+
BOOST_CHECK_NE(min_uuid_1.clock_seq_and_node, max_uuid_2.clock_seq_and_node);
100+
BOOST_CHECK_NE(min_uuid_2.clock_seq_and_node, max_uuid_1.clock_seq_and_node);
101+
BOOST_CHECK_NE(min_uuid_2.clock_seq_and_node, max_uuid_2.clock_seq_and_node);
102+
}
103+
71104
BOOST_AUTO_TEST_CASE(v1_node)
72105
{
73106
CassUuidGen* uuid_gen = cass_uuid_gen_new_with_node(0x0000112233445566LL);

0 commit comments

Comments
 (0)