4#include <gmock/gmock.h>
5#include <gtest/gtest.h>
15using ::testing::IsEmpty;
16using ::testing::SizeIs;
22using simulation::PurePoseidon2;
24TEST(AvmSimulationClassIdDerivationTest, Positive)
26 EventEmitter<ClassIdDerivationEvent> class_id_derivation_event_emitter;
27 PurePoseidon2
poseidon2 = PurePoseidon2();
31 ContractClassWithCommitment klass = {
35 .packed_bytecode = { 0x01, 0x02, 0x03, 0x04 },
40 klass.private_functions_root,
41 klass.public_bytecode_commitment });
43 klass.id = expected_class_id;
47 auto events = class_id_derivation_event_emitter.dump_events();
48 EXPECT_THAT(events, SizeIs(1));
49 EXPECT_EQ(events[0].klass.id, expected_class_id);
50 EXPECT_EQ(events[0].klass.artifact_hash, klass.artifact_hash);
54 events = class_id_derivation_event_emitter.dump_events();
55 EXPECT_THAT(events, IsEmpty());
#define GENERATOR_INDEX__CONTRACT_LEAF
StrictMock< MockClassIdDerivation > class_id_derivation
static FF hash(const std::vector< FF > &input)
Hashes a vector of field elements.
TEST(BoomerangMegaCircuitBuilder, BasicCircuit)
static field random_element(numeric::RNG *engine=nullptr) noexcept