#define BOOST_TEST_DYN_LINK #include "core/basic_obj_types.hpp" #include "core/global_defs.h" #include "core/sophiar_pool.h" #include #include #include using namespace sophiar; BOOST_AUTO_TEST_CASE(test_sophiar_pool) { spdlog::set_level(spdlog::level::trace); std::ifstream config_file("data/sophiar_pool_config.json"); BOOST_TEST(config_file.is_open()); auto config = nlohmann::json::parse(config_file); initialize(config); { auto var_index = REQUIRE_VARIABLE(bool_obj, "var_bool"); auto var_ptr = QUERY_VARIABLE(bool_obj, var_index); BOOST_TEST(var_ptr != nullptr); BOOST_TEST(var_ptr->value == true); } { auto var_index = REQUIRE_VARIABLE(u64int_obj, "var_num"); auto var_ptr = QUERY_VARIABLE(u64int_obj, var_index); BOOST_TEST(var_ptr != nullptr); BOOST_TEST(var_ptr->value == 12345678); } { auto var_index = REQUIRE_VARIABLE(double_obj, "var_float"); auto var_ptr = QUERY_VARIABLE(double_obj, var_index); BOOST_TEST(var_ptr != nullptr); BOOST_TEST(var_ptr->value == 1234.5678); } { auto var_index = REQUIRE_VARIABLE(scalarxyz_obj, "var_vec"); auto var_ptr = QUERY_VARIABLE(scalarxyz_obj, var_index); BOOST_TEST(var_ptr != nullptr); BOOST_TEST(var_ptr->value.z() == 3); } { auto var_index = REQUIRE_VARIABLE(transform_obj, "var_trans"); auto var_ptr = QUERY_VARIABLE(transform_obj, var_index); BOOST_TEST(var_ptr != nullptr); BOOST_TEST(var_ptr->value.translation().z() == 6); } { auto var_index = REQUIRE_VARIABLE(transform_obj, "var_trans"); auto var_ptr = QUERY_VARIABLE(transform_obj, var_index); BOOST_TEST(var_ptr != nullptr); BOOST_TEST(var_ptr->value.translation().z() == 6); } { auto var_index = REQUIRE_VARIABLE(array6_obj, "var_array"); auto var_ptr = QUERY_VARIABLE(array6_obj, var_index); BOOST_TEST(var_ptr != nullptr); BOOST_TEST(var_ptr->value[0] == 6); } global_context->run(); }