4#include <gtest/gtest.h>
41 ar(
"a", other_object.
a,
"b", other_object.
b);
46TEST(msgpack_tests, msgpack_sanity_sanity)
50 "Overlap in BadExampleOverlap MSGPACK_FIELDS() params detected!");
52 "Incomplete BadExampleIncomplete MSGPACK_FIELDS() params! Not all of object specified.");
56 auto checker = [&](
auto&... values) {
57 std::string incomplete_msgpack_status =
"error";
59 incomplete_msgpack_status =
"";
61 EXPECT_EQ(incomplete_msgpack_status,
"error");
66 "Some BadExampleOutOfObject MSGPACK_FIELDS() params don't exist in object!");
77TEST(msgpack_tests, msgpack_schema_sanity)
81 "{\"__typename\":\"GoodExample\",\"a\":[\"alias\",[\"fr\",\"bin32\"]],\"b\":[\"alias\",[\"fr\",\"bin32\"]]}\n");
83 "{\"__typename\":\"ComplicatedSchema\",\"array\":[\"vector\",[[\"array\",[[\"alias\",[\"fr\",\"bin32\"]],"
84 "20]]]],\"good_or_not\":[\"optional\",[{\"__typename\":\"GoodExample\",\"a\":[\"alias\",[\"fr\","
85 "\"bin32\"]],\"b\":[\"alias\",[\"fr\",\"bin32\"]]}]],\"bare\":[\"alias\",[\"fr\",\"bin32\"]],\"huh\":["
86 "\"variant\",[[\"alias\",[\"fr\",\"bin32\"]],\"GoodExample\"]]}\n");
struct ComplicatedSchema complicated_schema
struct BadExampleOutOfObject bad_example_out_of_object
struct BadExampleOverlap bad_example_overlap
struct GoodExample good_example
struct BadExampleIncomplete bad_example_incomplete
struct BadExampleCompileTimeError bad_example_compile_time_error
Entry point for Barretenberg command-line interface.
TEST(MegaCircuitBuilder, CopyConstructor)
std::string check_msgpack_method(const T &object)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
std::string msgpack_schema_to_string(const auto &obj)
Print's an object's derived msgpack schema as a string.
std::variant< bb::fr, GoodExample > huh
std::optional< GoodExample > good_or_not
std::vector< std::array< fr, 20 > > array
MSGPACK_FIELDS(array, good_or_not, bare, huh)