#include #include #include "../c++/c_gen_iface.hpp" #include namespace { namespace schema { using namespace saw::schema; using TestStruct = Struct< Member, Member >; using TestArray = Array< Int64, 1 >; using TestStructArray = Struct< Member, Member >; using TestStructMore = Struct< Member, Member, Member, Member >; using TestEmptyInterface = Interface<>; using TestOneFunctionInterface = Interface< Member, "one"> >; using TestStructFunctionInterface = Interface< Member, "two"> >; using TestArrayFunctionInterface = Interface< Member, "three"> >; using TestStructArrayFunctionInterface = Interface< Member, "three"> >; using TestMultiFunctionInterface = Interface< Member, "foo">, Member, "bar">, Member, "baz">, Member, "banana">, Member, "struct"> >; } template void test_generate(std::string& res, std::string& src){ using namespace saw; ring_buffer r_buff{4u * 1024u * 1024u}; ring_buffer r_src_buff{4u * 1024u * 1024u}; { auto eov = language_binding::generate(r_buff, r_src_buff, {"prefix"}); SAW_EXPECT(eov.is_value(), std::string{"Couldn't generate interface info: "} + std::string{eov.get_error().get_message()}); } res = convert_to_string(r_buff); src = convert_to_string(r_src_buff); } SAW_TEST("CIface Empty Interface"){ using namespace saw; std::string res; std::string src; test_generate(res,src); std::cout<<"\n"<(res, src); std::cout<<"\n"<(res, src); std::cout<<"\n"<(res, src); std::cout<<"\n"<(res, src); std::cout<<"\n"<