public function testLoadOrCreate()
{
$results = array();
$b = new Book();
$ret = $b->create(array('title' => 'Should Not Load This'));
result_ok($ret);
$results[] = $ret;
$ret = $b->create(array('title' => 'LoadOrCreateTest'));
result_ok($ret);
$results[] = $ret;
$id = $b->id;
ok($id);
$ret = $b->loadOrCreate(array('title' => 'LoadOrCreateTest'), 'title');
result_ok($ret);
is($id, $b->id, 'is the same ID');
$results[] = $ret;
$b2 = new Book();
$ret = $b2->loadOrCreate(array('title' => 'LoadOrCreateTest'), 'title');
result_ok($ret);
is($id, $b2->id);
$results[] = $ret;
$ret = $b2->loadOrCreate(array('title' => 'LoadOrCreateTest2'), 'title');
result_ok($ret);
ok($b2);
ok($id != $b2->id, 'we should create anther one');
$results[] = $ret;
$b3 = new Book();
$ret = $b3->loadOrCreate(array('title' => 'LoadOrCreateTest3'), 'title');
result_ok($ret);
ok($b3);
ok($id != $b3->id, 'we should create anther one');
$results[] = $ret;
$b3->delete();
foreach ($results as $r) {
$book = new Book();
$book->load($r->id);
if ($book->id) {
$book->delete();
}
}
}