$t->diag('findLast() and findFirst()');
Doctrine_Query::create()->delete()->from('DArticle')->execute();
$finder = new sfDoctrineFinder('DArticle');
$article = $finder->findFirst();
$t->is($article, null, 'findFirst() returns null when no records match');
$finder = new sfDoctrineFinder('DArticle');
$article = $finder->findLast();
$t->is($article, null, 'findLast() returns null when no records match');
$article1 = new DArticle();
$article1->setTitle('foo');
$article1->save();
$article2 = new DArticle();
$article2->setTitle('foo2');
$article2->save();
$finder = new sfDoctrineFinder('DArticle');
$article = $finder->findFirst();
$t->isa_ok($article, 'DArticle', 'findFirst() returns a single object');
$t->is($article->getTitle(), 'foo', 'findFirst() returns the last object matching the conditions');
$finder = new sfDoctrineFinder('DArticle');
$article = $finder->findLast();
$t->isa_ok($article, 'DArticle', 'findLast() returns a single object');
$t->is($article->getTitle(), 'foo2', 'findLast() returns the last object matching the conditions');
$t->diag('findBy() and findOneBy()');
Doctrine_Query::create()->delete()->from('DArticle')->execute();
$article1 = new DArticle();
$article1->setTitle('foo');
$article1->save();
$article2 = new DArticle();
$article2->setTitle('foo2');
$article2->save();
$article3 = new DArticle();