public function test_update_and_delete()
 {
     $x = new Weapon();
     $x->characterId = $this->char->characterId;
     $wpns = array('long sword', 'short sword', 'testing');
     $createdList = array();
     foreach ($wpns as $n) {
         $xData = array('character_id' => $x->characterId, 'weapon_name' => $n);
         $id = $x->create($this->dbObj, $xData);
         $this->assertTrue(is_numeric($id));
         $this->assertTrue($id > 0);
         $this->assertFalse(isset($createdList[$id]));
         $data = $x->load($this->dbObj);
         $this->assertTrue(is_array($data));
         $this->assertTrue(count($data) > count($xData));
         $createdList[$id] = $data;
     }
     $allWpns = $x->get_all($this->dbObj, $x->characterId);
     $this->assertTrue(is_array($allWpns));
     $this->assertEquals(count($createdList), count($allWpns));
     foreach ($createdList as $id => $data) {
         $x->id = $id;
         $newData = $data;
         $newData['weapon_name'] .= __METHOD__;
         $this->assertNotEquals($data, $newData);
         $this->assertNull($x->mass_update($newData));
         $this->assertEquals(1, $x->save($this->dbObj));
         $this->assertEquals($newData, $x->load($this->dbObj));
         $this->assertEquals($id, $x->id);
         $this->assertEquals(1, $x->delete($this->dbObj));
     }
     $this->assertEquals(array(), $x->get_all($this->dbObj, $x->characterId));
 }
 public function load()
 {
     $retval = array();
     if (is_numeric($this->characterId) && $this->characterId > 0) {
         $this->_char = new Character($this->characterId, $this->ownerUid, $this->dbObj);
         $this->_char->load($this->dbObj);
         $this->_abilities = Ability::get_all($this->dbObj, $this->characterId);
         $retval['abilities'] = $this->_abilities;
         $this->_armor = Armor::get_all($this->dbObj, $this->characterId);
         $retval['armor'] = $this->_armor;
         $this->_gear = Gear::get_all($this->dbObj, $this->characterId);
         $retval['gear'] = $this->_gear;
         $this->_saves = Save::get_all($this->dbObj, $this->characterId);
         $retval['saves'] = $this->_saves;
         $this->_skills = Skill::get_all($this->dbObj, $this->characterId);
         $retval['skills'] = $this->_skills;
         $this->_specialAbilities = SpecialAbility::get_all($this->dbObj, $this->characterId);
         $retval['specialAbilities'] = $this->_specialAbilities;
         $this->_weapons = Weapon::get_all($this->dbObj, $this->characterId);
         $retval['weapons'] = $this->_weapons;
     } else {
         throw new ErrorException(__METHOD__ . ": invalid character id");
     }
     return $retval;
 }