public function testLoad() { try { new User('invalid call'); $this->fail('Expected Exception not thrown'); } catch (\Packaged\Mappers\Exceptions\InvalidLoadException $e) { } try { User::load(null); $this->fail('Expected Exception not thrown'); } catch (\Packaged\Mappers\Exceptions\InvalidLoadException $e) { } $uniqueDescription = uniqid('usertesting'); $user = new User(); $user->name = 'name' . rand() . time(); $user->description = $uniqueDescription; $user->save(); $this->assertTrue($user->exists()); $user->clearSavedChanges(); $loaded = User::load($user->id()); $this->assertEquals($user->id(), $loaded->id()); $this->compareObjects($user, $loaded); $loadedUser = User::load($user->id()); $this->assertTrue($loadedUser->exists()); $this->compareObjects($user, $loadedUser); $newUser = $user->saveAsNew(); $user->getEntityManager()->detach($user); $newUser->getEntityManager()->detach($newUser); $this->compareObjects([$user->clearSavedChanges(), $newUser->clearSavedChanges()], User::loadWhere(['description' => $uniqueDescription])); $user->name = 'name' . rand() . time(); $user->save(); $this->compareObjects([$user->clearSavedChanges()], User::loadWhere(['name' => $user->name])); }