void restoreDefault()
{
- VConfSingleton::instance().set("VconfImplTest/int/20", 20);
- VConfSingleton::instance().set("VconfImplTest/string/foo", std::string("foo"));
- VConfSingleton::instance().set("VconfImplTest/bool/true", true);
- VConfSingleton::instance().set("VconfImplTest/double/3.14", 3.14);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 20);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/string/foo", std::string("foo"));
+ Singleton<VConfInterface>::instance().set("VconfImplTest/bool/true", true);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/double/3.14", 3.14);
}
TEST(VconfImplTest, get)
{
- EXPECT_EQ(VConfSingleton::instance().get("not_defined", 10), 10);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("not_defined", 10), 10);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/int/20", 10), 20);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/int/20", true), true);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/int/20", 10), 20);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/int/20", true), true);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/string/foo", 10), 10);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/string/foo", std::string("bar")), std::string("foo"));
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/string/foo", 10), 10);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/string/foo", std::string("bar")), std::string("foo"));
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/bool/true", false), true);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/bool/true", 10.1), 10.1);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/bool/true", false), true);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/bool/true", 10.1), 10.1);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/double/3.14", 1.1), 3.14);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/double/3.14", 1), 1);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/double/3.14", 1.1), 3.14);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/double/3.14", 1), 1);
}
TEST(VconfImplTest, set)
{
- VConfSingleton::instance().set("not_defined", 20);
- EXPECT_EQ(VConfSingleton::instance().get("not_defined", 8), 8);
+ Singleton<VConfInterface>::instance().set("not_defined", 20);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("not_defined", 8), 8);
- VConfSingleton::instance().set("VconfImplTest/int/20", 13);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/int/20", 7), 13);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 13);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/int/20", 7), 13);
//change type
- VConfSingleton::instance().set("VconfImplTest/int/20", 1.1);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/int/20", 12.6), 1.1);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 1.1);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/int/20", 12.6), 1.1);
- VConfSingleton::instance().set("VconfImplTest/string/foo", std::string("bar2"));
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/string/foo", std::string("bar1")), std::string("bar2"));
+ Singleton<VConfInterface>::instance().set("VconfImplTest/string/foo", std::string("bar2"));
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/string/foo", std::string("bar1")), std::string("bar2"));
//change type
- VConfSingleton::instance().set("VconfImplTest/string/foo", 12);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/string/foo", 13), 12);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/string/foo", 12);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/string/foo", 13), 12);
- VConfSingleton::instance().set("VconfImplTest/bool/true", false);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/bool/true", true), false);
- VConfSingleton::instance().set("VconfImplTest/bool/true", true);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/bool/true", true), true);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/bool/true", false);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/bool/true", true), false);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/bool/true", true);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/bool/true", true), true);
//change type
- VConfSingleton::instance().set("VconfImplTest/bool/true", 12.1);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/bool/true", 8.1), 12.1);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/bool/true", 12.1);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/bool/true", 8.1), 12.1);
- VConfSingleton::instance().set("VconfImplTest/double/3.14", 12.1);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/double/3.14", 1.1), 12.1);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/double/3.14", 12.1);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/double/3.14", 1.1), 12.1);
//change type
- VConfSingleton::instance().set("VconfImplTest/double/3.14", 8);
- EXPECT_EQ(VConfSingleton::instance().get("VconfImplTest/double/3.14", 7), 8);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/double/3.14", 8);
+ EXPECT_EQ(Singleton<VConfInterface>::instance().get("VconfImplTest/double/3.14", 7), 8);
restoreDefault();
}
TEST(VconfImplTest, registerKeyChangedCb_int)
{
INFO("registerKeyChangedCb_int");
- auto h = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", testCallback);
+ auto h = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", testCallback);
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 132);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 132);
});
EXPECT_EQ(testCallbackValue, 132);
}
{
int v = 0;
int count = 0;
- auto h = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ auto h = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v = x;
count++;
});
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 133);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 133);
});
EXPECT_EQ(v, 133);
EXPECT_EQ(count, 1);
{
bool v = false;
int count = 0;
- auto h = VConfSingleton::instance().registerKeyChangedCb<bool>("VconfImplTest/int/20", [&](bool x) {
+ auto h = Singleton<VConfInterface>::instance().registerKeyChangedCb<bool>("VconfImplTest/int/20", [&](bool x) {
v = x;
count++;
});
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", true);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", true);
});
EXPECT_EQ(v, true);
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", false);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", false);
});
EXPECT_EQ(v, false);
EXPECT_EQ(count, 2);
TEST(VconfImplTest, registerKeyChangedCb_double_lambda)
{
double v = 0.0;
- auto h = VConfSingleton::instance().registerKeyChangedCb<double>("VconfImplTest/int/20", [&](double x) {
+ auto h = Singleton<VConfInterface>::instance().registerKeyChangedCb<double>("VconfImplTest/int/20", [&](double x) {
v = x;
});
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 13.6);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 13.6);
});
EXPECT_EQ(v, 13.6);
}
TEST(VconfImplTest, registerKeyChangedCb_string_lambda)
{
std::string v;
- auto h = VConfSingleton::instance().registerKeyChangedCb<std::string>("VconfImplTest/int/20", [&](std::string x) {
+ auto h = Singleton<VConfInterface>::instance().registerKeyChangedCb<std::string>("VconfImplTest/int/20", [&](std::string x) {
v = x;
});
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", std::string("foo2"));
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", std::string("foo2"));
});
EXPECT_EQ(v, "foo2");
}
int v = 0;
int count = 0;
{
- auto h = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ auto h = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v = x;
count++;
});
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 1);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 1);
});
EXPECT_EQ(v, 1);
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 2);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 2);
});
EXPECT_EQ(v, 2);
}
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 3);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 3);
});
EXPECT_EQ(v, 2);
EXPECT_EQ(count, 2);
{
int v = 0;
{
- auto h = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ auto h = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v = x;
count++;
});
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 11);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 11);
});
EXPECT_EQ(v, 11);
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 12);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 12);
});
EXPECT_EQ(v, 12);
}
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 13);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 13);
});
EXPECT_EQ(v, 12);
}
{
int v = 0;
{
- auto h = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ auto h = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v = x;
count++;
});
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 21);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 21);
});
EXPECT_EQ(v, 21);
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 22);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 22);
});
EXPECT_EQ(v, 22);
}
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 23);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 23);
});
EXPECT_EQ(v, 22);
}
std::string s("empty");
int count1 = 0, count2 = 0, count3 = 0, count4 = 0;
- auto h1 = VConfSingleton::instance().registerKeyChangedCb<bool>("VconfImplTest/int/20", [&](bool x) {
+ auto h1 = Singleton<VConfInterface>::instance().registerKeyChangedCb<bool>("VconfImplTest/int/20", [&](bool x) {
b = x;
count1++;
});
- auto h2 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ auto h2 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
i = x;
count2++;
});
- auto h3 = VConfSingleton::instance().registerKeyChangedCb<double>("VconfImplTest/int/20", [&](double x) {
+ auto h3 = Singleton<VConfInterface>::instance().registerKeyChangedCb<double>("VconfImplTest/int/20", [&](double x) {
v = x;
count3++;
});
- auto h4 = VConfSingleton::instance().registerKeyChangedCb<std::string>("VconfImplTest/int/20", [&](std::string x) {
+ auto h4 = Singleton<VConfInterface>::instance().registerKeyChangedCb<std::string>("VconfImplTest/int/20", [&](std::string x) {
s = x;
count4++;
});
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 10);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 10);
});
EXPECT_EQ(i, 10);
EXPECT_EQ(b, false);
EXPECT_EQ(s, "empty");
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 20.2);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 20.2);
});
EXPECT_EQ(i, 10);
EXPECT_EQ(b, false);
EXPECT_EQ(s, "empty");
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", true);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", true);
});
EXPECT_EQ(i, 10);
EXPECT_EQ(b, true);
EXPECT_EQ(s, "empty");
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", std::string("foo"));
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", std::string("foo"));
});
EXPECT_EQ(i, 10);
EXPECT_EQ(b, true);
int v = 0;
int count = 0;
VConfInterface::CallbackHandle h;
- h = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v = x;
count++;
h.reset();
});
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 13);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 13);
});
EXPECT_EQ(v, 13);
EXPECT_EQ(count, 1);
int v1 = 1, v2 = 2, v3 = 3;
int count1 = 0, count2 = 0, count3 = 0;
VConfInterface::CallbackHandle h1, h2, h3;
- h1 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h1 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v1 = x;
count1++;
});
- h2 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h2 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v2 = x;
count2++;
});
- h3 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h3 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v3 = x;
h2.reset();
count3++;
});
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 14);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 14);
});
EXPECT_EQ(v1, 14);
EXPECT_EQ(v2, 2);
int count1 = 0, count2 = 0;
VConfInterface::CallbackHandle h1, h2;
- h1 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h1 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v1 = x;
count1++;
- h2 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h2 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v2 = x;
count2++;
});
});
EXPECT_EQ(h2, nullptr);
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 15);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 15);
});
EXPECT_EQ(v1, 15);
EXPECT_EQ(v2, 2);
EXPECT_EQ(count2, 0);
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 16);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 16);
});
EXPECT_EQ(v1, 16);
int v1 = 1, v2 = 2;
int count1 = 0, count2 = 0;
VConfInterface::CallbackHandle h1, h2;
- h1 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h1 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v1 = x;
count1++;
h1.reset();
- h2 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h2 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v2 = x;
count2++;
});
});
EXPECT_EQ(h2, nullptr);
eventLoop::run([&]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 115);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 115);
});
EXPECT_NE(h2, nullptr);
EXPECT_EQ(v1, 115);
EXPECT_EQ(count1, 1);
EXPECT_EQ(count2, 0);
eventLoop::run([&]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 116);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 116);
});
EXPECT_EQ(v1, 115);
EXPECT_EQ(v2, 116);
EXPECT_EQ(count2, 1);
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 117);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 117);
});
EXPECT_EQ(v1, 115);
int v1 = 1, v2 = 2;
int count1 = 0, count2 = 0;
VConfInterface::CallbackHandle h1, h2;
- h1 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h1 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v1 = x;
count1++;
- h2 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h2 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v2 = x;
count2++;
});
});
EXPECT_EQ(h2, nullptr);
eventLoop::run([&]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 115);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 115);
});
EXPECT_NE(h2, nullptr);
EXPECT_EQ(v1, 115);
EXPECT_EQ(count1, 1);
EXPECT_EQ(count2, 0);
eventLoop::run([&]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 116);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 116);
});
EXPECT_EQ(v1, 115);
EXPECT_EQ(v2, 116);
EXPECT_EQ(count2, 1);
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 117);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 117);
});
EXPECT_EQ(v1, 115);
int v = 1;
int count1 = 0, count2 = 0, count3 = 0;
VConfInterface::CallbackHandle h1, h2, h3;
- h1 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h1 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v += 2;
v *= 3;
count1++;
});
- h2 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h2 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v += 5;
v *= 7;
count2++;
});
- h3 = VConfSingleton::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
+ h3 = Singleton<VConfInterface>::instance().registerKeyChangedCb<int>("VconfImplTest/int/20", [&](int x) {
v += 11;
v *= 13;
count3++;
});
eventLoop::run([]() {
- VConfSingleton::instance().set("VconfImplTest/int/20", 14);
+ Singleton<VConfInterface>::instance().set("VconfImplTest/int/20", 14);
});
EXPECT_EQ(v, (((((1 + 11) * 13) + 5) * 7) + 2) * 3); //calbacks are called in reverse order
EXPECT_EQ(count1, 1);