sophiar_pool.cpp 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #define BOOST_TEST_DYN_LINK
  2. #include "core/basic_obj_types.hpp"
  3. #include "core/global_defs.h"
  4. #include "core/sophiar_pool.h"
  5. #include <boost/test/unit_test.hpp>
  6. #include <fstream>
  7. using namespace sophiar;
  8. BOOST_AUTO_TEST_CASE(test_sophiar_pool) {
  9. std::ifstream config_file("data/sophiar_pool_config.json");
  10. BOOST_TEST(config_file.is_open());
  11. auto config = nlohmann::json::parse(config_file);
  12. initialize(config);
  13. {
  14. auto var_index = REQUIRE_VARIABLE(bool_obj, "var_bool");
  15. auto var_ptr = QUERY_VARIABLE(bool_obj, var_index);
  16. BOOST_TEST(var_ptr != nullptr);
  17. BOOST_TEST(var_ptr->value == true);
  18. }
  19. {
  20. auto var_index = REQUIRE_VARIABLE(u64int_obj, "var_num");
  21. auto var_ptr = QUERY_VARIABLE(u64int_obj, var_index);
  22. BOOST_TEST(var_ptr != nullptr);
  23. BOOST_TEST(var_ptr->value == 12345678);
  24. }
  25. {
  26. auto var_index = REQUIRE_VARIABLE(double_obj, "var_float");
  27. auto var_ptr = QUERY_VARIABLE(double_obj, var_index);
  28. BOOST_TEST(var_ptr != nullptr);
  29. BOOST_TEST(var_ptr->value == 1234.5678);
  30. }
  31. {
  32. auto var_index = REQUIRE_VARIABLE(scalarxyz_obj, "var_vec");
  33. auto var_ptr = QUERY_VARIABLE(scalarxyz_obj, var_index);
  34. BOOST_TEST(var_ptr != nullptr);
  35. BOOST_TEST(var_ptr->value.z() == 3);
  36. }
  37. {
  38. auto var_index = REQUIRE_VARIABLE(transform_obj, "var_trans");
  39. auto var_ptr = QUERY_VARIABLE(transform_obj, var_index);
  40. BOOST_TEST(var_ptr != nullptr);
  41. BOOST_TEST(var_ptr->value.translation().z() == 6);
  42. }
  43. {
  44. auto var_index = REQUIRE_VARIABLE(transform_obj, "var_trans");
  45. auto var_ptr = QUERY_VARIABLE(transform_obj, var_index);
  46. BOOST_TEST(var_ptr != nullptr);
  47. BOOST_TEST(var_ptr->value.translation().z() == 6);
  48. }
  49. {
  50. auto var_index = REQUIRE_VARIABLE(array6_obj, "var_array");
  51. auto var_ptr = QUERY_VARIABLE(array6_obj, var_index);
  52. BOOST_TEST(var_ptr != nullptr);
  53. BOOST_TEST(var_ptr->value[0] == 6);
  54. }
  55. }