}
try {
    new sfLuceneCategories($lucene);
    $t->pass('__construct() must accept an instance of sfLucene');
} catch (Exception $e) {
    $t->fail('__construct() must accept an instance of sfLucene');
    $e->printStackTrace();
}
try {
    new sfLuceneCategories($lucene, 'dd');
    $t->fail('__construct() must reject invalid writers');
} catch (Exception $e) {
    $t->pass('__construct() must reject invalid writers');
}
try {
    $c = new sfLuceneCategories($lucene, $writer);
    $t->pass('__construct() must accept valid writers');
} catch (Exception $e) {
    $t->fail('__construct() must accept valid writers');
    $t->skip('the previous test must pass to continue');
    die;
}
$t->is($c->getAllCategories(), array(), '->getAllCategories() returns an empty array in the beginning');
$t->diag('testing ->getCategory()');
$category = $c->getCategory('foo');
$t->ok($category instanceof sfLuceneCategory, '->getCategory() returns an instance of sfLuceneCategory');
$t->is($category->getName(), 'foo', '->getCategory() returns a category with the correct name');
$t->is($category->getCount(), 0, '->getCategory() returns a category with a default score of 0');
$t->ok($category->getHolder() === $c, '->getCategory()->getHolder() returns the same instance as the holder');
$t->ok($category === $c->getCategory('foo'), '->getCategory() returns the same category each time, for a given name');
$t->diag('testing ->save()');
 */
/**
 * @package sfLucenePlugin
 * @subpackage Test
 * @author Carl Vondrick
 * @version SVN: $Id: sfLuceneCategoryTest.php 7108 2008-01-20 07:44:42Z Carl.Vondrick $
 */
require dirname(__FILE__) . '/../../bootstrap/unit.php';
$t = new limeade_test(15, limeade_output::get());
$limeade = new limeade_sf($t);
$app = $limeade->bootstrap();
$luceneade = new limeade_lucene($limeade);
$luceneade->configure()->clear_sandbox();
$lucene = sfLucene::getInstance('testLucene', 'en');
$writer = new sfLuceneStorageBlackhole('foo');
$holder = new sfLuceneCategories($lucene, $writer);
$t->diag('testing __construct');
try {
    new sfLuceneCategory('foo', 'bar');
    $t->fail('__construct() must reject invalid holders');
} catch (Exception $e) {
    $t->pass('__construct() must reject invalid holders');
}
try {
    $c = new sfLuceneCategory($holder, 'bar', 5);
    $t->pass('__construct() must accept valid holders');
} catch (Exception $e) {
    $t->fail('__construct() must accept valid holders');
}
$t->diag('testing initialization parameters');
$t->is($c->getCount(), 5, '->getCount() returns default count');