X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fmisc%2Fprops_test.cxx;h=15a48abca1ee50039e8d7283684d34a573338b20;hb=5bab565cfe4c30d6cf08ecaba50af74d5e4f0c98;hp=2f033ea6cd6eca58451e1e23b1bc3501d485906c;hpb=8b13d71fcf20714617ff4864461ecae93c5caec0;p=simgear.git diff --git a/simgear/misc/props_test.cxx b/simgear/misc/props_test.cxx index 2f033ea6..15a48abc 100644 --- a/simgear/misc/props_test.cxx +++ b/simgear/misc/props_test.cxx @@ -3,11 +3,16 @@ // Test harness. //////////////////////////////////////////////////////////////////////// -#include +#include + +#include STL_IOSTREAM #include "props.hxx" -using std::cout; -using std::endl; +#if !defined(SG_HAVE_NATIVE_SGI_COMPILERS) +SG_USING_STD(cout); +SG_USING_STD(cerr); +SG_USING_STD(endl); +#endif @@ -45,13 +50,13 @@ static double getNum (int index) { return 1.0 / index; } //////////////////////////////////////////////////////////////////////// static void -show_values (const SGValue * value) +show_values (const SGPropertyNode * node) { - cout << "Bool: " << value->getBoolValue() << endl; - cout << "Int: " << value->getIntValue() << endl; - cout << "Float: " << value->getFloatValue() << endl; - cout << "Double: " << value->getDoubleValue() << endl; - cout << "String: " << value->getStringValue() << endl; + cout << "Bool: " << node->getBoolValue() << endl; + cout << "Int: " << node->getIntValue() << endl; + cout << "Float: " << node->getFloatValue() << endl; + cout << "Double: " << node->getDoubleValue() << endl; + cout << "String: " << node->getStringValue() << endl; } @@ -63,7 +68,7 @@ show_values (const SGValue * value) static void test_value () { - SGValue * value; + SGPropertyNode * node; cout << endl << "Value" << endl << endl; @@ -72,81 +77,81 @@ test_value () // cout << "Testing coercion from bool (expect true)" << endl; - value = new SGValue; - value->setBoolValue(true); - show_values(value); - delete value; + node = new SGPropertyNode; + node->setBoolValue(true); + show_values(node); + delete node; cout << endl; cout << "Testing coercion from int (expect 128)" << endl; - value = new SGValue; - value->setIntValue(128); - show_values(value); - delete value; + node = new SGPropertyNode; + node->setIntValue(128); + show_values(node); + delete node; cout << endl; cout << "Testing coercion from float (expect 1.0/3.0)" << endl; - value = new SGValue; - value->setFloatValue(1.0/3.0); - show_values(value); - delete value; + node = new SGPropertyNode; + node->setFloatValue(1.0/3.0); + show_values(node); + delete node; cout << endl; cout << "Testing coercion from double (expect 1.0/3.0)" << endl; - value = new SGValue; - value->setDoubleValue(1.0/3.0); - show_values(value); - delete value; + node = new SGPropertyNode; + node->setDoubleValue(1.0/3.0); + show_values(node); + delete node; cout << endl; cout << "Testing coercion from string (expect 10e4)" << endl; - value = new SGValue; - value->setStringValue("10e4"); - show_values(value); - delete value; + node = new SGPropertyNode; + node->setStringValue("10e4"); + show_values(node); + delete node; cout << endl; - cout << "Testing coercion from unknown (expect -10e-4)" << endl; - value = new SGValue; - value->setUnknownValue("-10e-4"); - show_values(value); - delete value; + cout << "Testing coercion from unspecified (expect -10e-4)" << endl; + node = new SGPropertyNode; + node->setUnspecifiedValue("-10e-4"); + show_values(node); + delete node; cout << endl; // // Test coercion for setters. // - value = new SGValue; + node = new SGPropertyNode; cout << "Testing coercion to bool from bool (expect false)" << endl; - value->setBoolValue(false); - show_values(value); + node->setBoolValue(false); + show_values(node); cout << endl; cout << "Testing coercion to bool from int (expect 1)" << endl; - value->setIntValue(1); - show_values(value); + node->setIntValue(1); + show_values(node); cout << endl; cout << "Testing coercion to bool from float (expect 1.1)" << endl; - value->setFloatValue(1.1); - show_values(value); + node->setFloatValue(1.1); + show_values(node); cout << endl; cout << "Testing coercion to bool from double (expect 1.1)" << endl; - value->setDoubleValue(1.1); - show_values(value); + node->setDoubleValue(1.1); + show_values(node); cout << endl; cout << "Testing coercion to bool from string (expect 1e10)" << endl; - value->setStringValue("1e10"); - show_values(value); + node->setStringValue("1e10"); + show_values(node); cout << endl; - cout << "Testing coercion to bool from unknown (expect 1e10)" << endl; - value->setUnknownValue("1e10"); - show_values(value); + cout << "Testing coercion to bool from unspecified (expect 1e10)" << endl; + node->setUnspecifiedValue("1e10"); + show_values(node); cout << endl; // Test tying to a pointer. @@ -154,67 +159,67 @@ test_value () static int myValue = 10; cout << "Testing tying to a pointer (expect 10)" << endl; - if (!value->tie(SGRawValuePointer(&myValue))) + if (!node->tie(SGRawValuePointer(&myValue), false)) cout << "*** FAILED TO TIE VALUE!!!" << endl; - show_values(value); + show_values(node); cout << endl; cout << "Changing base variable (expect -5)" << endl; myValue = -5; - show_values(value); - if (!value->untie()) - cout << "*** FAIELD TO UNTIE VALUE!!!" << endl; + show_values(node); + if (!node->untie()) + cout << "*** FAILED TO UNTIE VALUE!!!" << endl; cout << endl; // Test tying to static functions. cout << "Create a new int value (expect 10)" << endl; - value->setIntValue(10); - show_values(value); + node->setIntValue(10); + show_values(node); cout << endl; cout << "Testing tying to static getter (expect 100)" << endl; - if (!value->tie(SGRawValueFunctions(get100))) + if (!node->tie(SGRawValueFunctions(get100))) cout << "*** FAILED TO TIE VALUE!!!" << endl; - show_values(value); + show_values(node); cout << endl; cout << "Try changing value with no setter (expect 100)" << endl; - if (value->setIntValue(200)) + if (node->setIntValue(200)) cout << "*** setIntValue did not return false!!!" << endl; - show_values(value); + show_values(node); cout << endl; cout << "Untie value (expect 100)" << endl; - if (!value->untie()) + if (!node->untie()) cout << "*** FAILED TO UNTIE VALUE!!!" << endl; - show_values(value); + show_values(node); cout << endl; cout << "Try changing value (expect 200)" << endl; - if (!value->setIntValue(200)) + if (!node->setIntValue(200)) cout << "*** setIntValue RETURNED FALSE!!!" << endl; - show_values(value); + show_values(node); cout << endl; // Test tying to indexed static functions. cout << "Create a new int value (expect 10)" << endl; - value->setIntValue(10); - show_values(value); + node->setIntValue(10); + show_values(node); cout << endl; cout << "Testing tying to indexed static getter (0.3333...)" << endl; - if (!value->tie(SGRawValueFunctionsIndexed(3, getNum))) + if (!node->tie(SGRawValueFunctionsIndexed(3, getNum))) cout << "*** FAILED TO TIE VALUE!!!" << endl; - show_values(value); + show_values(node); cout << endl; cout << "Untie value (expect 0.3333...)" << endl; - if (!value->untie()) + if (!node->untie()) cout << "*** FAILED TO UNTIE VALUE!!!" << endl; - show_values(value); + show_values(node); cout << endl; @@ -225,39 +230,39 @@ test_value () SGRawValueMethods tiedstuff(stuff, &Stuff::getStuff, &Stuff::setStuff); - if (!value->tie(tiedstuff, false)) + if (!node->tie(tiedstuff, false)) cout << "*** FAILED TO TIE VALUE!!!" << endl; - show_values(value); + show_values(node); cout << endl; cout << "Try untying from object (expect 199)" << endl; - if (!value->untie()) + if (!node->untie()) cout << "*** FAILED TO UNTIE VALUE!!!" << endl; - show_values(value); + show_values(node); cout << endl; cout << "Try tying to an indexed method (expect 199)" << endl; - if (!value->tie(SGRawValueMethodsIndexed + if (!node->tie(SGRawValueMethodsIndexed (stuff, 2, &Stuff::getStuff, &Stuff::setStuff))) cout << "*** FAILED TO TIE VALUE!!!" << endl; - show_values(value); + show_values(node); cout << endl; - value->untie(); + node->untie(); cout << "Change value (expect 50)" << endl; - if (!value->setIntValue(50)) + if (!node->setIntValue(50)) cout << "*** FAILED TO SET VALUE!!!" << endl; - show_values(value); + show_values(node); cout << endl; cout << "Try tying to an object with defaults (expect 50)" << endl; - if (!value->tie(tiedstuff, true)) + if (!node->tie(tiedstuff, true)) cout << "*** FAILED TO TIE VALUE!!!" << endl; - show_values(value); + show_values(node); cout << endl; - delete value; + delete node; } @@ -309,7 +314,7 @@ test_property_nodes () cout << "Looking for all /hack[0]/bar children" << endl; vector bar = child->getChildren("bar"); cout << "There are " << bar.size() << " matches" << endl; - for (int i = 0; i < bar.size(); i++) + for (int i = 0; i < (int)bar.size(); i++) cout << bar[i]->getName() << '[' << bar[i]->getIndex() << ']' << endl; cout << endl; @@ -321,7 +326,7 @@ test_property_nodes () } -main (int ac, char ** av) +int main (int ac, char ** av) { test_value(); test_property_nodes(); @@ -329,10 +334,10 @@ main (int ac, char ** av) for (int i = 1; i < ac; i++) { cout << "Reading " << av[i] << endl; SGPropertyNode root; - if (!readProperties(av[i], &root)) - cerr << "Failed to read properties from " << av[i] << endl; - else - writeProperties(cout, &root); + readProperties(av[i], &root); + writeProperties(cout, &root); cout << endl; } + + return 0; }