Tweaks to track changes in property manager.
This commit is contained in:
parent
e7b9e55599
commit
b481ccd749
@ -50,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;
|
||||
}
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ show_values (const SGValue * value)
|
||||
static void
|
||||
test_value ()
|
||||
{
|
||||
SGValue * value;
|
||||
SGPropertyNode * node;
|
||||
|
||||
cout << endl << "Value" << endl << endl;
|
||||
|
||||
@ -77,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.
|
||||
@ -159,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;
|
||||
|
||||
|
||||
@ -230,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;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user