PropertyObject ::create tests.
This commit is contained in:
@@ -143,6 +143,33 @@ public:
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// copy-constructor
|
||||||
|
PropertyObject(const PropertyObject<std::string>& aOther) :
|
||||||
|
PropertyObjectBase(aOther)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// create form
|
||||||
|
static PropertyObject<std::string> create(const char* aPath, const std::string& aValue)
|
||||||
|
{
|
||||||
|
PropertyObject<std::string> p(aPath);
|
||||||
|
p = aValue;
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PropertyObject<std::string> create(SGPropertyNode* aNode, const std::string& aValue)
|
||||||
|
{
|
||||||
|
PropertyObject<std::string> p(aNode);
|
||||||
|
p = aValue;
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PropertyObject<std::string> create(SGPropertyNode* aNode, const char* aChild, const std::string& aValue)
|
||||||
|
{
|
||||||
|
PropertyObject<std::string> p(aNode, aChild);
|
||||||
|
p = aValue;
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
operator std::string () const
|
operator std::string () const
|
||||||
|
|||||||
@@ -149,6 +149,27 @@ void testReadMissing()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void testCreate()
|
||||||
|
{
|
||||||
|
PropertyObject<bool> a = PropertyObject<bool>::create("a/lemon", true);
|
||||||
|
assert(a == true);
|
||||||
|
assert(testRoot->getBoolValue("a/lemon") == true);
|
||||||
|
|
||||||
|
|
||||||
|
PropertyObject<int> b(PropertyObject<int>::create("a/pear", 3142));
|
||||||
|
assert(b == 3142);
|
||||||
|
|
||||||
|
PropertyObject<std::string> c(PropertyObject<std::string>::create("a/lime", "fofofo"));
|
||||||
|
assert(c == "fofofo");
|
||||||
|
|
||||||
|
// check overloads for string version
|
||||||
|
SGPropertyNode* n = testRoot->getNode("b", true);
|
||||||
|
PropertyObject<std::string> d(PropertyObject<std::string>::create(n, "grape", "xyz"));
|
||||||
|
assert(!strcmp(testRoot->getStringValue("b/grape"), "xyz"));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
testRoot = new SGPropertyNode();
|
testRoot = new SGPropertyNode();
|
||||||
@@ -170,6 +191,7 @@ int main(int argc, char* argv[])
|
|||||||
testString();
|
testString();
|
||||||
testAssignment();
|
testAssignment();
|
||||||
testSTLContainer();
|
testSTLContainer();
|
||||||
|
testCreate();
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user