コード例 #1
0
 /**
  * Setup dummy data for each test.
  */
 public function setUp()
 {
     parent::setUp();
     try {
         /* ensure we have clear data and identity sequences */
         $this->xpdo->getManager();
         $this->xpdo->addPackage('sample.sti', xPDOTestHarness::$properties['xpdo_test_path'] . 'model/');
         $this->xpdo->manager->createObjectContainer('sti.baseClass');
         $this->xpdo->manager->createObjectContainer('sti.relClassOne');
         $this->xpdo->manager->createObjectContainer('sti.relClassMany');
         /* add some various base and derivative objects */
         $object = $this->xpdo->newObject('sti.baseClass');
         $object->set('field1', 1);
         $object->set('field2', 'a string');
         $relatedObject = $this->xpdo->newObject('sti.relClassOne');
         $relatedObject->fromArray(array('field1' => 123, 'field2' => 'alphanumeric'));
         $object->addOne($relatedObject);
         $relatedObjects[0] = $this->xpdo->newObject('sti.relClassMany');
         $relatedObjects[0]->fromArray(array('field1' => 'some text', 'field2' => true));
         $relatedObjects[1] = $this->xpdo->newObject('sti.relClassMany');
         $relatedObjects[1]->fromArray(array('field1' => 'some different text', 'field2' => false));
         $object->addMany($relatedObjects);
         $object->save();
         /* add some various base and derivative objects */
         $object = $this->xpdo->newObject('sti.derivedClass');
         $object->set('field1', 2);
         $object->set('field2', 'a derived string');
         $relatedObject = $this->xpdo->newObject('sti.relClassOne');
         $relatedObject->fromArray(array('field1' => 321, 'field2' => 'numericalpha'));
         $object->addOne($relatedObject);
         $relatedObjects[0] = $this->xpdo->newObject('sti.relClassMany');
         $relatedObjects[0]->fromArray(array('field1' => 'some derived text', 'field2' => true));
         $relatedObjects[1] = $this->xpdo->newObject('sti.relClassMany');
         $relatedObjects[1]->fromArray(array('field1' => 'some different derived text', 'field2' => false));
         $object->addMany($relatedObjects);
         $object->save();
         /* add some various base and derivative objects */
         $object = $this->xpdo->newObject('sti.derivedClass2');
         $object->set('field1', 3);
         $object->set('field2', 'another derived string');
         $relatedObject = $this->xpdo->newObject('sti.relClassOne');
         $relatedObject->fromArray(array('field1' => 789, 'field2' => 'derived numericalpha'));
         $object->addOne($relatedObject, 'relOne');
         $relatedObjects[0] = $this->xpdo->newObject('sti.relClassMany');
         $relatedObjects[0]->fromArray(array('field1' => 'some double derived text', 'field2' => true));
         $relatedObjects[1] = $this->xpdo->newObject('sti.relClassMany');
         $relatedObjects[1]->fromArray(array('field1' => 'some different double derived text', 'field2' => false));
         $object->addMany($relatedObjects, 'relMany');
         $object->save();
     } catch (Exception $e) {
         $this->xpdo->log(xPDO::LOG_LEVEL_ERROR, $e->getMessage(), '', __METHOD__, __FILE__, __LINE__);
     }
 }
コード例 #2
0
ファイル: xPDOQuery.php プロジェクト: node-migrator-bot/xpdo
 /**
  * Setup dummy data for each test.
  */
 public function setUp()
 {
     parent::setUp();
     try {
         /* ensure we have clear data and identity sequences */
         $this->xpdo->getManager();
         $this->xpdo->manager->createObjectContainer('Phone');
         $this->xpdo->manager->createObjectContainer('Person');
         $this->xpdo->manager->createObjectContainer('PersonPhone');
         $this->xpdo->manager->createObjectContainer('BloodType');
         $bloodTypes = array('A+', 'A-', 'B+', 'B-', 'AB+', 'AB-', 'O+', 'O-');
         foreach ($bloodTypes as $bloodType) {
             $bt = $this->xpdo->newObject('BloodType');
             $bt->set('type', $bloodType);
             $bt->save();
         }
         $bloodTypeABPlus = $this->xpdo->getObject('BloodType', 'AB+');
         if (empty($bloodTypeABPlus)) {
             $this->xpdo->log(xPDO::LOG_LEVEL_FATAL, 'Could not load blood type.');
         }
         /* add some people */
         $person = $this->xpdo->newObject('Person');
         $person->set('first_name', 'Johnathon');
         $person->set('last_name', 'Doe');
         $person->set('middle_name', 'Harry');
         $person->set('dob', '1950-03-14');
         $person->set('gender', 'M');
         $person->set('password', 'ohb0ybuddy');
         $person->set('username', '*****@*****.**');
         $person->set('security_level', 3);
         $person->set('blood_type', $bloodTypeABPlus->get('type'));
         $person->save();
         $person = $this->xpdo->newObject('Person');
         $person->set('first_name', 'Jane');
         $person->set('last_name', 'Heartstead');
         $person->set('middle_name', 'Cecilia');
         $person->set('dob', '1978-10-23');
         $person->set('gender', 'F');
         $person->set('password', 'n0w4yimdoingthat');
         $person->set('username', '*****@*****.**');
         $person->set('security_level', 1);
         $person->set('blood_type', $bloodTypeABPlus->get('type'));
         $person->save();
         $phone = $this->xpdo->newObject('Phone');
         $phone->fromArray(array('type' => 'work', 'number' => '555-123-4567'));
         $phone->save();
         $personPhone = $this->xpdo->newObject('PersonPhone');
         $personPhone->fromArray(array('person' => $person->get('id'), 'phone' => $phone->get('id'), 'is_primary' => true), '', true, true);
         $personPhone->save();
     } catch (Exception $e) {
         $this->xpdo->log(xPDO::LOG_LEVEL_ERROR, $e->getMessage(), '', __METHOD__, __FILE__, __LINE__);
     }
 }
コード例 #3
0
 /**
  * Setup dummy data for each test.
  */
 public function setUp()
 {
     parent::setUp();
     try {
         /* ensure we have clear data and identity sequences */
         $this->xpdo->getManager();
         $this->xpdo->manager->createObjectContainer('Item');
         $colors = array('red', 'green', 'yellow', 'blue');
         $r = 0;
         for ($i = 1; $i < 40; $i++) {
             $item = $this->xpdo->newObject('Item');
             $idx = str_pad($i, 2, '0', STR_PAD_LEFT);
             $item->set('name', 'item-' . $i);
             $r++;
             if ($r > 3) {
                 $r = 0;
             }
             $item->set('color', $colors[$r]);
             $item->save();
         }
     } catch (Exception $e) {
         $this->xpdo->log(xPDO::LOG_LEVEL_ERROR, $e->getMessage(), '', __METHOD__, __FILE__, __LINE__);
     }
 }
コード例 #4
0
ファイル: xPDOTransport.php プロジェクト: christianseel/xpdo
 public function setUp()
 {
     parent::setUp();
     $this->xpdo->loadClass('transport.xPDOTransport', XPDO_CORE_PATH, true, true);
 }