1#include <gtest/gtest.h>
10std::string
EXAMPLE_FILENAME = std::string(getenv(
"MESON_SOURCE_ROOT")) +
"/tests/config/example.yaml";
19 return config.isKeyInCache(key);
23 return config.configMap.size();
26 static void callAddToCache(serif::config::Config& config,
const std::string& key,
const YAML::Node& node) {
27 config.addToCache(key, node);
31 config.registerUnknownKey(key);
35 if (std::find(config.unknownKeys.begin(), config.unknownKeys.end(), key) == config.unknownKeys.end()) {
51 EXPECT_NO_THROW(serif::config::Config::getInstance());
55 serif::config::Config& config = serif::config::Config::getInstance();
60 serif::config::Config& config1 = serif::config::Config::getInstance();
61 serif::config::Config& config2 = serif::config::Config::getInstance();
62 EXPECT_EQ(&config1, &config2);
66 serif::config::Config& config = serif::config::Config::getInstance();
68 int maxIter = config.get<
int>(
"opac:lowTemp:numeric:maxIter", 10);
69 EXPECT_EQ(maxIter, 100);
70 EXPECT_NE(maxIter, 10);
72 std::string logLevel = config.get<std::string>(
"logLevel",
"DEBUG");
73 EXPECT_EQ(logLevel,
"INFO");
74 EXPECT_NE(logLevel,
"DEBUG");
76 float polytropicIndex = config.get<
float>(
"poly:physics:index", 2);
77 EXPECT_EQ(polytropicIndex, 1.5);
78 EXPECT_NE(polytropicIndex, 2);
80 float polytropicIndex2 = config.get<
float>(
"poly:physics:index2", 2.0);
81 EXPECT_EQ(polytropicIndex2, 2.0);
85 serif::config::Config& config = serif::config::Config::getInstance();
86 EXPECT_EQ(config.get<
int>(
"opac:lowTemp:numeric:maxIter", 10), 100);
90 serif::config::Config& config = serif::config::Config::getInstance();
97 serif::config::Config& config = serif::config::Config::getInstance();
101 config.get<std::string>(
"outputDir",
"DEBUG");
106 serif::config::Config& config = serif::config::Config::getInstance();
108 config.get<
int>(
"opac:lowTemp:numeric:random", 10);
Test suite for the Config class.
static void callAddToCache(serif::config::Config &config, const std::string &key, const YAML::Node &node)
static bool CheckIfKeyUnknown(serif::config::Config &config, const std::string &key)
static void callRegisterKeyNotFound(serif::config::Config &config, const std::string &key)
static bool callIsKeyInCache(serif::config::Config &config, const std::string &key)
static int callCacheSize(serif::config::Config &config)
std::string EXAMPLE_FILENAME
TEST_F(configTest, constructor)
Test the constructor of the Config class.