Esempio n. 1
0
             if ($objectCount != sizeof($objects)) {
                 AddTrace("\t***");
             }
         }
         $objectCount++;
     }
 }
 if ($errors == 0) {
     $_SESSION['diagnosticsSuccessful'] = true;
 }
 if (isset($_POST['pog_test']) && $_POST['pog_test'] == 'no') {
     AddTrace("\nUNIT TESTS NOT PERFORMED. FOUND {$errors} ERROR(S)");
 } else {
     AddTrace("\nCHECKED " . count($objectNameList) . " OBJECT(S). FOUND {$errors} ERROR(S)" . ($errors == 0 ? ". HURRAY!" : ":"));
 }
 AddTrace("---------------------------------------------------");
 if (isset($_SESSION['errorMessages'])) {
     $errorMessages = unserialize($_SESSION['errorMessages']);
 }
 $traceMessages = unserialize($_SESSION['traceMessages']);
 $diagnostics = '';
 foreach ($traceMessages as $traceMessage) {
     $diagnostics .= "\n{$traceMessage}";
 }
 if (isset($errorMessages)) {
     foreach ($errorMessages as $errorMessage) {
         $diagnostics .= "\n{$errorMessage}\n";
     }
 }
 $_SESSION['fileNames'] = serialize($objects);
 $_SESSION['objectNameList'] = serialize($objectNameList);
/**
 * Unit test for SetSiblingList()
 *
 * @param unknown_type $object
 * @param unknown_type $trace
 */
function TestSetSiblingList($object, $trace = true, $ignoreObjects)
{
    $thisObjectName = get_class($object);
    if (!TestSaveDeep_Sibling($object, false, $ignoreObjects)) {
        AddTrace("\tSetSiblingList(deep) ignored");
        AddError("SetSiblingList ignored since SaveDeep could not be performed");
        return false;
    }
    //get all sibling classes
    $siblingList = array();
    eval("\$object = new {$thisObjectName}();");
    $object = PopulateTestValues($object);
    $attribute_types = $object->pog_attribute_type;
    foreach ($attribute_types as $key => $attribute_array) {
        if ($attribute_array['db_attributes'][1] == "JOIN") {
            $siblingList[] = $key;
        }
    }
    $errors = 0;
    foreach ($siblingList as $sibling) {
        //instantiate
        $siblingInstanceList = array();
        eval("\$siblingInstance = new {$sibling}();");
        eval("\$siblingInstance2 = new {$sibling}();");
        $siblingInstance = PopulateTestValues($siblingInstance);
        $siblingInstance2 = PopulateTestValues($siblingInstance2);
        //add sibling to array
        $siblingInstanceList[] = $siblingInstance;
        $siblingInstanceList[] = $siblingInstance2;
        eval("\$object -> Set" . $sibling . "List(\$siblingInstanceList);");
    }
    //test
    if (!$object->Save(true)) {
        $errors++;
        return false;
    }
    foreach ($siblingList as $sibling) {
        //instantiate
        eval("\$siblingArray = \$object->Get" . $sibling . "List();");
        if (sizeof($siblingArray) == 0) {
            if ($trace) {
                AddTrace("\tSet({$sibling})List failed");
            }
            $errors++;
        } else {
            if ($trace) {
                AddTrace("\tSet({$sibling})List....OK!");
            }
        }
    }
    //cleanup
    $object->Delete(false, true);
    if ($errors == 0) {
        return true;
    }
    return false;
}