From 8d9d3dc516a0c286baea1555c0af20b8db06740d Mon Sep 17 00:00:00 2001 From: MITSUNARI Shigeo Date: Tue, 6 Sep 2016 22:11:59 +0900 Subject: add recover/set for C api --- test/bls_test.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'test') diff --git a/test/bls_test.cpp b/test/bls_test.cpp index 47ba330..9d3a7cb 100644 --- a/test/bls_test.cpp +++ b/test/bls_test.cpp @@ -105,18 +105,29 @@ CYBOZU_TEST_AUTO(k_of_n) */ bls::SecretKeyVec secVec(3); bls::IdVec idVec(3); + std::vector psec(secVec.size()); + std::vector pid(idVec.size()); for (int a = 0; a < n; a++) { secVec[0] = allPrvVec[a]; idVec[0] = allIdVec[a]; + psec[0] = &secVec[0]; + pid[0] = &idVec[0]; for (int b = a + 1; b < n; b++) { secVec[1] = allPrvVec[b]; idVec[1] = allIdVec[b]; + psec[1] = &secVec[1]; + pid[1] = &idVec[1]; for (int c = b + 1; c < n; c++) { secVec[2] = allPrvVec[c]; idVec[2] = allIdVec[c]; + psec[2] = &secVec[2]; + pid[2] = &idVec[2]; bls::SecretKey sec; sec.recover(secVec, idVec); CYBOZU_TEST_EQUAL(sec, sec0); + bls::SecretKey sec2; + sec2.recover(&psec[0], &pid[0], psec.size()); + CYBOZU_TEST_EQUAL(sec, sec2); } } } @@ -207,14 +218,21 @@ CYBOZU_TEST_AUTO(k_of_n) { bls::PublicKeyVec pubVec(k); idVec.resize(k); + std::vector ppub(k); + std::vector pid(k); // select [0, k) publicKey for (int i = 0; i < k; i++) { allPrvVec[i].getPublicKey(pubVec[i]); idVec[i] = allIdVec[i]; + ppub[i] = &pubVec[i]; + pid[i] = &idVec[i]; } bls::PublicKey pub; pub.recover(pubVec, idVec); CYBOZU_TEST_EQUAL(pub, pub0); + bls::PublicKey pub2; + pub2.recover(&ppub[0], &pid[0], ppub.size()); + CYBOZU_TEST_EQUAL(pub, pub2); } } @@ -276,6 +294,17 @@ CYBOZU_TEST_AUTO(pop) bls::Sign s; s.recover(sVec, idVec); CYBOZU_TEST_EQUAL(s, s0); + std::vector ps(sVec.size()); + for (size_t i = 0; i < ps.size(); i++) { + ps[i] = &sVec[i]; + } + std::vector pid(idVec.size()); + for (size_t i = 0; i < pid.size(); i++) { + pid[i] = &idVec[i]; + } + bls::Sign s2; + s2.recover(&ps[0], &pid[0], ps.size()); + CYBOZU_TEST_EQUAL(s, s2); } CYBOZU_TEST_AUTO(add) -- cgit v1.2.3