29TEST(TwinRomTable, TagCorrectness)
62 EXPECT_EQ(table[
field_ct(1)][0].get_origin_tag(), next_challenge_tag);
66 EXPECT_THROW(table[1][1] + 1, std::runtime_error);
74TEST(TwinRomTable, ReadWriteConsistency)
79 const size_t table_size = 10;
81 for (
size_t i = 0; i < table_size; ++i) {
93 for (
size_t i = 0; i < 10; ++i) {
97 const auto before_n =
builder.num_gates;
99 const auto to_add = table[index];
100 const auto after_n =
builder.num_gates;
104 EXPECT_EQ(after_n - before_n, 1ULL);
107 result[0] += to_add[0];
108 result[1] += to_add[1];
110 const auto before_n =
builder.num_gates;
111 const auto to_add = table[i];
112 const auto after_n =
builder.num_gates;
114 EXPECT_EQ(after_n - before_n, 0ULL);
115 result[0] += to_add[0];
116 result[1] += to_add[1];
119 auto expected_values = table_values[i];
120 expected[0] += expected_values[0].get_value();
121 expected[1] += expected_values[1].get_value();
126 EXPECT_EQ(result[0].get_value(), expected[0]);
127 EXPECT_EQ(result[1].get_value(), expected[1]);
130 EXPECT_EQ(verified,
true);