aboutsummaryrefslogtreecommitdiffstats
path: root/test/bls_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/bls_test.cpp')
-rw-r--r--test/bls_test.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/bls_test.cpp b/test/bls_test.cpp
index 0c801c6..c7bdb68 100644
--- a/test/bls_test.cpp
+++ b/test/bls_test.cpp
@@ -13,6 +13,7 @@ void streamTest(const T& t)
iss >> t2;
CYBOZU_TEST_EQUAL(t, t2);
}
+
CYBOZU_TEST_AUTO(bls)
{
bls::init();
@@ -33,6 +34,31 @@ CYBOZU_TEST_AUTO(bls)
}
}
+CYBOZU_TEST_AUTO(id)
+{
+ bls::Id id;
+ CYBOZU_TEST_ASSERT(id.isZero());
+ id = 5;
+ CYBOZU_TEST_EQUAL(id, 5);
+ {
+ const uint64_t id1[] = { 1, 2, 3, 4 };
+ id.set(id1);
+ std::ostringstream os;
+ os << std::hex << id;
+ CYBOZU_TEST_EQUAL(os.str(), "4000000000000000300000000000000020000000000000001");
+ }
+ {
+ /*
+ truncate the value in [0, r)
+ */
+ const uint64_t id1[] = { uint64_t(-1), uint64_t(-1), uint64_t(-1), uint64_t(-1) };
+ id.set(id1);
+ std::ostringstream os;
+ os << std::hex << id;
+ CYBOZU_TEST_ASSERT(os.str() != "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
+ }
+}
+
CYBOZU_TEST_AUTO(k_of_n)
{
const std::string m = "abc";