]> git.mxchange.org Git - simgear.git/blobdiff - simgear/misc/props_test.cxx
Updates to build system to better support automake-1.5
[simgear.git] / simgear / misc / props_test.cxx
index 17f82c7ee79d3016963e1d6ac3c22607192edcc8..15a48abca1ee50039e8d7283684d34a573338b20 100644 (file)
@@ -10,6 +10,7 @@
 
 #if !defined(SG_HAVE_NATIVE_SGI_COMPILERS)
 SG_USING_STD(cout);
+SG_USING_STD(cerr);
 SG_USING_STD(endl);
 #endif
 
@@ -49,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;
 }
 
 
@@ -67,7 +68,7 @@ show_values (const SGValue * value)
 static void
 test_value ()
 {
-  SGValue * value;
+  SGPropertyNode * node;
 
   cout << endl << "Value" << endl << endl;
 
@@ -76,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.
@@ -158,67 +159,67 @@ test_value ()
   static int myValue = 10;
 
   cout << "Testing tying to a pointer (expect 10)" << endl;
-  if (!value->tie(SGRawValuePointer<int>(&myValue)))
+  if (!node->tie(SGRawValuePointer<int>(&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<int>(get100)))
+  if (!node->tie(SGRawValueFunctions<int>(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<double>(3, getNum)))
+  if (!node->tie(SGRawValueFunctionsIndexed<double>(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;
 
 
@@ -229,39 +230,39 @@ test_value ()
   SGRawValueMethods<class Stuff,float> 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<class Stuff, float>
+  if (!node->tie(SGRawValueMethodsIndexed<class Stuff, float>
                  (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;
 }
 
 
@@ -333,10 +334,8 @@ int 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;
   }