Better tests
This commit is contained in:
parent
2a7e41f04e
commit
d239a9f193
78
src/test.cpp
78
src/test.cpp
|
@ -15,17 +15,81 @@ int main()
|
||||||
auto keypair = generate_keypair<default_r1cs_ppzksnark_pp>();
|
auto keypair = generate_keypair<default_r1cs_ppzksnark_pp>();
|
||||||
|
|
||||||
// Run test vectors.
|
// Run test vectors.
|
||||||
assert(run_test(keypair));
|
{
|
||||||
|
vector<uint8_t> puzzle =
|
||||||
|
{
|
||||||
|
8, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 3, 6, 0, 0, 0, 0, 0,
|
||||||
|
0, 7, 0, 0, 9, 0, 2, 0, 0,
|
||||||
|
|
||||||
|
0, 5, 0, 0, 0, 7, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 4, 5, 7, 0, 0,
|
||||||
|
0, 0, 0, 1, 0, 0, 0, 3, 0,
|
||||||
|
|
||||||
|
0, 0, 1, 0, 0, 0, 0, 6, 8,
|
||||||
|
0, 0, 8, 5, 0, 0, 0, 1, 0,
|
||||||
|
0, 9, 0, 0, 0, 0, 4, 0, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
vector<uint8_t> solution =
|
||||||
|
{
|
||||||
|
8, 1, 2, 7, 5, 3, 6, 4, 9,
|
||||||
|
9, 4, 3, 6, 8, 2, 1, 7, 5,
|
||||||
|
6, 7, 5, 4, 9, 1, 2, 8, 3,
|
||||||
|
|
||||||
|
1, 5, 4, 2, 3, 7, 8, 9, 6,
|
||||||
|
3, 6, 9, 8, 4, 5, 7, 2, 1,
|
||||||
|
2, 8, 7, 1, 6, 9, 5, 3, 4,
|
||||||
|
|
||||||
|
5, 2, 1, 9, 7, 4, 3, 6, 8,
|
||||||
|
4, 3, 8, 5, 2, 6, 9, 1, 7,
|
||||||
|
7, 9, 6, 3, 1, 8, 4, 5, 2
|
||||||
|
};
|
||||||
|
|
||||||
|
assert(run_test(keypair, puzzle, solution));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool run_test(r1cs_ppzksnark_keypair<default_r1cs_ppzksnark_pp>& keypair
|
// Run test vectors.
|
||||||
) {
|
{
|
||||||
vector<uint8_t> puzzle(81, 0);
|
vector<uint8_t> puzzle =
|
||||||
vector<uint8_t> solution(81, 1);
|
{
|
||||||
|
8, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 3, 6, 0, 0, 0, 0, 0,
|
||||||
|
0, 7, 0, 0, 9, 0, 2, 0, 0,
|
||||||
|
|
||||||
cout << "Trying to generate proof..." << endl;
|
0, 5, 0, 0, 0, 7, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 4, 5, 7, 0, 0,
|
||||||
|
0, 0, 0, 1, 0, 0, 0, 3, 0,
|
||||||
|
|
||||||
|
0, 0, 1, 0, 0, 0, 0, 6, 8,
|
||||||
|
0, 0, 8, 5, 0, 0, 0, 1, 0,
|
||||||
|
0, 9, 0, 0, 0, 0, 4, 0, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
vector<uint8_t> solution =
|
||||||
|
{
|
||||||
|
8, 1, 2, 7, 5, 3, 6, 4, 9,
|
||||||
|
9, 4, 3, 6, 8, 2, 1, 7, 5,
|
||||||
|
6, 7, 5, 4, 9, 1, 2, 8, 3,
|
||||||
|
|
||||||
|
1, 5, 4, 2, 3, 7, 8, 9, 6,
|
||||||
|
3, 6, 9, 8, 4, 5, 7, 2, 1,
|
||||||
|
2, 8, 7, 1, 6, 9, 5, 3, 4,
|
||||||
|
|
||||||
|
5, 2, 1, 9, 7, 4, 3, 6, 8,
|
||||||
|
4, 3, 8, 5, 2, 6, 9, 1, 7,
|
||||||
|
7, 9, 6, 3, 1, 8, 3, 5, 2 // not a solution to the puzzle, 4 => 3
|
||||||
|
};
|
||||||
|
|
||||||
|
assert(!run_test(keypair, puzzle, solution));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool run_test(r1cs_ppzksnark_keypair<default_r1cs_ppzksnark_pp>& keypair,
|
||||||
|
std::vector<uint8_t> puzzle,
|
||||||
|
std::vector<uint8_t> solution
|
||||||
|
) {
|
||||||
auto proof = generate_proof<default_r1cs_ppzksnark_pp>(keypair.pk, puzzle, solution);
|
auto proof = generate_proof<default_r1cs_ppzksnark_pp>(keypair.pk, puzzle, solution);
|
||||||
cout << "Proof generated!" << endl;
|
|
||||||
|
|
||||||
if (!proof) {
|
if (!proof) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
|
||||||
bool run_test(r1cs_ppzksnark_keypair<default_r1cs_ppzksnark_pp>& keypair
|
bool run_test(r1cs_ppzksnark_keypair<default_r1cs_ppzksnark_pp>& keypair,
|
||||||
|
std::vector<uint8_t> puzzle,
|
||||||
|
std::vector<uint8_t> solution
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue