From d239a9f193520ca029e1f93bdceaeaa5f227f84a Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Sat, 5 Dec 2015 01:14:53 -0700 Subject: [PATCH] Better tests --- src/test.cpp | 78 +++++++++++++++++++++++++++++++++++++++++++++++----- src/test.h | 4 ++- 2 files changed, 74 insertions(+), 8 deletions(-) diff --git a/src/test.cpp b/src/test.cpp index dd81f83..6fa043d 100644 --- a/src/test.cpp +++ b/src/test.cpp @@ -15,17 +15,81 @@ int main() auto keypair = generate_keypair(); // Run test vectors. - assert(run_test(keypair)); + { + vector 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 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)); + } + + // Run test vectors. + { + vector 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 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& keypair +bool run_test(r1cs_ppzksnark_keypair& keypair, + std::vector puzzle, + std::vector solution ) { - vector puzzle(81, 0); - vector solution(81, 1); - - cout << "Trying to generate proof..." << endl; auto proof = generate_proof(keypair.pk, puzzle, solution); - cout << "Proof generated!" << endl; if (!proof) { return false; diff --git a/src/test.h b/src/test.h index 025345a..7e14d72 100644 --- a/src/test.h +++ b/src/test.h @@ -1,3 +1,5 @@ -bool run_test(r1cs_ppzksnark_keypair& keypair +bool run_test(r1cs_ppzksnark_keypair& keypair, + std::vector puzzle, + std::vector solution );