diff options
Diffstat (limited to 'test/ec_test.cpp')
-rw-r--r-- | test/ec_test.cpp | 25 |
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 { |