#pragma once
#define CASE_TEST(id) case test_id::id: return test_##id(ctx, operation, data);
#define DEFINE_TEST(id) int test_##id(cr_plugin *ctx, cr_op operation, test_data *data)
namespace test_basic {
#define CR_TEST_LIST_BEGIN() namespace test_id { enum e {
#define CR_TEST(x) x,
#define CR_TEST_LIST_END() };}
#include "test_basic.x"
#undef CR_TEST_LIST_BEGIN
#undef CR_TEST
#undef CR_TEST_LIST_END
struct test_data {
test_id::e test = test_id::return_version;
int static_local_state = 0;
int static_global_state = 0;
int *heap_data_ptr = nullptr;
int heap_data_size = 0;
};
}