diff --git a/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.test.cpp index 1c96b844801..c06f47566dd 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.test.cpp @@ -7,17 +7,59 @@ using namespace barretenberg; using namespace proof_system::plonk; -typedef stdlib::byte_array byte_array_plookup; -typedef stdlib::public_witness_t public_witness_t_plookup; +using byte_array = stdlib::byte_array; +using public_witness_t = stdlib::public_witness_t; +using byte_array_plookup = stdlib::byte_array; +using public_witness_t_plookup = stdlib::public_witness_t; +using StandardBuilder = proof_system::StandardCircuitBuilder; +using UltraBuilder = proof_system::UltraCircuitBuilder; + +TEST(stdlib_blake3s, test_single_block) +{ + auto builder = StandardBuilder(); + std::string input = "abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz01"; + std::vector input_v(input.begin(), input.end()); + + byte_array input_arr(&builder, input_v); + byte_array output = stdlib::blake3s(input_arr); + + std::vector expected = blake3::blake3s(input_v); + + EXPECT_EQ(output.get_value(), expected); + + info("builder gates = ", builder.get_num_gates()); + + bool proof_result = builder.check_circuit(); + EXPECT_EQ(proof_result, true); +} TEST(stdlib_blake3s, test_single_block_plookup) { - proof_system::UltraCircuitBuilder builder = proof_system::UltraCircuitBuilder(); + auto builder = UltraBuilder(); std::string input = "abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz01"; std::vector input_v(input.begin(), input.end()); byte_array_plookup input_arr(&builder, input_v); - byte_array_plookup output = stdlib::blake3s(input_arr); + byte_array_plookup output = stdlib::blake3s(input_arr); + + std::vector expected = blake3::blake3s(input_v); + + EXPECT_EQ(output.get_value(), expected); + + info("builder gates = ", builder.get_num_gates()); + + bool proof_result = builder.check_circuit(); + EXPECT_EQ(proof_result, true); +} + +TEST(stdlib_blake3s, test_double_block) +{ + auto builder = StandardBuilder(); + std::string input = "abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789"; + std::vector input_v(input.begin(), input.end()); + + byte_array input_arr(&builder, input_v); + byte_array output = stdlib::blake3s(input_arr); std::vector expected = blake3::blake3s(input_v); @@ -31,7 +73,7 @@ TEST(stdlib_blake3s, test_single_block_plookup) TEST(stdlib_blake3s, test_double_block_plookup) { - proof_system::UltraCircuitBuilder builder = proof_system::UltraCircuitBuilder(); + auto builder = UltraBuilder(); std::string input = "abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789"; std::vector input_v(input.begin(), input.end());