sophiar_pool.cpp 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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 <spdlog/spdlog.h>
  7. #include <fstream>
  8. using namespace sophiar;
  9. BOOST_AUTO_TEST_CASE(test_sophiar_pool) {
  10. spdlog::set_level(spdlog::level::trace);
  11. std::ifstream config_file("data/sophiar_pool_config.json");
  12. BOOST_TEST(config_file.is_open());
  13. auto config = nlohmann::json::parse(config_file);
  14. initialize(config);
  15. {
  16. auto var_index = REQUIRE_VARIABLE(bool_obj, "var_bool");
  17. auto var_ptr = QUERY_VARIABLE(bool_obj, var_index);
  18. BOOST_TEST(var_ptr != nullptr);
  19. BOOST_TEST(var_ptr->value == true);
  20. }
  21. {
  22. auto var_index = REQUIRE_VARIABLE(u64int_obj, "var_num");
  23. auto var_ptr = QUERY_VARIABLE(u64int_obj, var_index);
  24. BOOST_TEST(var_ptr != nullptr);
  25. BOOST_TEST(var_ptr->value == 12345678);
  26. }
  27. {
  28. auto var_index = REQUIRE_VARIABLE(double_obj, "var_float");
  29. auto var_ptr = QUERY_VARIABLE(double_obj, var_index);
  30. BOOST_TEST(var_ptr != nullptr);
  31. BOOST_TEST(var_ptr->value == 1234.5678);
  32. }
  33. {
  34. auto var_index = REQUIRE_VARIABLE(scalarxyz_obj, "var_vec");
  35. auto var_ptr = QUERY_VARIABLE(scalarxyz_obj, var_index);
  36. BOOST_TEST(var_ptr != nullptr);
  37. BOOST_TEST(var_ptr->value.z() == 3);
  38. }
  39. {
  40. auto var_index = REQUIRE_VARIABLE(transform_obj, "var_trans");
  41. auto var_ptr = QUERY_VARIABLE(transform_obj, var_index);
  42. BOOST_TEST(var_ptr != nullptr);
  43. BOOST_TEST(var_ptr->value.translation().z() == 6);
  44. }
  45. {
  46. auto var_index = REQUIRE_VARIABLE(transform_obj, "var_trans");
  47. auto var_ptr = QUERY_VARIABLE(transform_obj, var_index);
  48. BOOST_TEST(var_ptr != nullptr);
  49. BOOST_TEST(var_ptr->value.translation().z() == 6);
  50. }
  51. {
  52. auto var_index = REQUIRE_VARIABLE(array6_obj, "var_array");
  53. auto var_ptr = QUERY_VARIABLE(array6_obj, var_index);
  54. BOOST_TEST(var_ptr != nullptr);
  55. BOOST_TEST(var_ptr->value[0] == 6);
  56. }
  57. global_context->run();
  58. }