* @result - adds the result of testing propName property to
* MultiMethodTest.tRes.
*/
protected void testProperty(String propName)
{
XPropertySetInfo info = oObj.getPropertySetInfo();
if (info != null)
{
final boolean bHasProperty = info.hasPropertyByName(propName);
if (!bHasProperty)
{
if (isOptional(propName) || optionalService)
{
// skipping optional property test
log.println("Property '" + propName + "' is optional and not supported");
tRes.tested(propName, true);
return;
}
else
{
// cannot test the property
log.println("Tested XPropertySet does not contain'" + propName + "' property");
tRes.tested(propName, false);
return;
}
}
}
try
{
Object oldValue = oObj.getPropertyValue(propName);
if( (oldValue==null) || utils.isVoid(oldValue) )
{
// #i111560# method getNewValue() does not work with an empty oldValue
Property prop = info.getPropertyByName(propName);
if( (prop.Attributes & PropertyAttribute.MAYBEVOID) != 0 )
{
// todo: implement a new test independent from method getNewValue()
log.println("changing initially empty MAYBEVOID properties is not supported by the test framework so far - skip test of property: " + propName);
tRes.tested(propName, true);