aboutsummaryrefslogtreecommitdiffstats
path: root/test/ec_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/ec_test.cpp')
-rw-r--r--test/ec_test.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/test/ec_test.cpp b/test/ec_test.cpp
index ae42c67..a78357e 100644
--- a/test/ec_test.cpp
+++ b/test/ec_test.cpp
@@ -295,7 +295,7 @@ struct Test {
ss >> Q;
CYBOZU_TEST_EQUAL(P, Q);
}
- // IoSerialize
+ // IoSerialize, IoSerializeHexStr
const size_t adj = Ec::isMSBserialize() ? 0 : 1;
P.set(x, y);
{
@@ -305,12 +305,24 @@ struct Test {
CYBOZU_TEST_EQUAL(P, Q);
}
{
- P = -P;
+ std::string s = P.getStr(mcl::IoSerializeHexStr);
+ CYBOZU_TEST_EQUAL(s.size(), (Fp::getByteSize() + adj) * 2);
+ Q.setStr(s, mcl::IoSerializeHexStr);
+ CYBOZU_TEST_EQUAL(P, Q);
+ }
+ P = -P;
+ {
std::string s = P.getStr(mcl::IoSerialize);
CYBOZU_TEST_EQUAL(s.size(), Fp::getByteSize() + adj);
Q.setStr(s, mcl::IoSerialize);
CYBOZU_TEST_EQUAL(P, Q);
}
+ {
+ std::string s = P.getStr(mcl::IoSerializeHexStr);
+ CYBOZU_TEST_EQUAL(s.size(), (Fp::getByteSize() + adj) * 2);
+ Q.setStr(s, mcl::IoSerializeHexStr);
+ CYBOZU_TEST_EQUAL(P, Q);
+ }
P.clear();
{
std::string s = P.getStr(mcl::IoSerialize);
@@ -319,6 +331,15 @@ struct Test {
Q.setStr(s, mcl::IoSerialize);
CYBOZU_TEST_EQUAL(P, Q);
}
+ {
+ std::string s = P.getStr(mcl::IoSerializeHexStr);
+ CYBOZU_TEST_EQUAL(s.size(), (Fp::getByteSize() + adj) * 2);
+ for (size_t i = 0; i < s.size(); i++) {
+ CYBOZU_TEST_EQUAL(s[i], '0');
+ }
+ Q.setStr(s, mcl::IoSerializeHexStr);
+ CYBOZU_TEST_EQUAL(P, Q);
+ }
}
void ioMode() const
{