3#include <gmock/gmock.h>
4#include <gtest/gtest.h>
20using ::testing::Return;
21using ::testing::ReturnRef;
22using ::testing::StrictMock;
24using simulation::MockExecutionIdManager;
26TEST(Sha256CompressionSimulationTest, Sha256Compression)
34 EventEmitter<Sha256CompressionEvent> sha256_event_emitter;
38 std::array<uint32_t, 8> state = { 0, 1, 2, 3, 4, 5, 6, 7 };
40 for (uint32_t i = 0; i < 8; ++i) {
41 mem.
set(state_addr + i, MemoryValue::from<uint32_t>(state[i]));
44 std::array<uint32_t, 16> input = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
46 for (uint32_t i = 0; i < 16; ++i) {
47 mem.
set(input_addr + i, MemoryValue::from<uint32_t>(input[i]));
55 std::array<uint32_t, 8> result_from_memory;
56 for (uint32_t i = 0; i < 8; ++i) {
58 result_from_memory[i] = c.
as<uint32_t>();
60 EXPECT_EQ(result_from_memory, result);
void set(MemoryAddress index, MemoryValue value) override
const MemoryValue & get(MemoryAddress index) const override
ExecutionIdManager execution_id_manager
TEST(EmitUnencryptedLogTest, Basic)
std::array< uint32_t, 8 > sha256_block(const std::array< uint32_t, 8 > &h_init, const std::array< uint32_t, 16 > &input)
Sha256Hash sha256(const ByteContainer &input)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept