aboutsummaryrefslogtreecommitdiff
path: root/tests/TagsCacheTest.php
diff options
context:
space:
mode:
authorcweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>2009-10-25 19:35:48 +0000
committercweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>2009-10-25 19:35:48 +0000
commit1bffdc3696aefdbb4144aeeef6502beda95388d2 (patch)
tree11845302010d535d6d26f8392969dac59e39d283 /tests/TagsCacheTest.php
parentf0ec32d89bb86d8af9fef96e1ed63d3dac36a1ee (diff)
downloadsemanticscuttle-1bffdc3696aefdbb4144aeeef6502beda95388d2.tar.gz
semanticscuttle-1bffdc3696aefdbb4144aeeef6502beda95388d2.tar.bz2
tab 2 spaces in test files
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@419 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'tests/TagsCacheTest.php')
-rw-r--r--tests/TagsCacheTest.php324
1 files changed, 162 insertions, 162 deletions
diff --git a/tests/TagsCacheTest.php b/tests/TagsCacheTest.php
index 9230f1c..3211629 100644
--- a/tests/TagsCacheTest.php
+++ b/tests/TagsCacheTest.php
@@ -28,10 +28,10 @@ if (!defined('PHPUnit_MAIN_METHOD')) {
*/
class TagsCacheTest extends PHPUnit_Framework_TestCase
{
- protected $us;
- protected $bs;
- protected $b2ts;
- protected $tts;
+ protected $us;
+ protected $bs;
+ protected $b2ts;
+ protected $tts;
@@ -48,164 +48,164 @@ class TagsCacheTest extends PHPUnit_Framework_TestCase
);
}
- protected function setUp()
- {
- global $dbhost, $dbuser, $dbpass, $dbname, $dbport, $dbpersist, $dbtype, $tableprefix, $TEMPLATES_DIR, $debugMode;
- require_once dirname(__FILE__) . '/../src/SemanticScuttle/header.php';
-
- $this->us =SemanticScuttle_Service_Factory::get('User');
- $this->bs =SemanticScuttle_Service_Factory::get('Bookmark');
- $this->bs->deleteAll();
- $this->b2ts =SemanticScuttle_Service_Factory::get('Bookmark2Tag');
- $this->b2ts->deleteAll();
- $this->tts =SemanticScuttle_Service_Factory::get('Tag2Tag');
- $this->tts->deleteAll();
- $this->tsts =SemanticScuttle_Service_Factory::get('TagStat');
- $this->tsts->deleteAll();
- $this->tcs =SemanticScuttle_Service_Factory::get('TagCache');
- $this->tcs->deleteAll();
- }
-
- public function testInclusionAllowsToAddAndDeleteChildrenTags() {
- //message_die(GENERAL_ERROR, $GLOBALS['dbname'].'1');
-
- $tts = $this->tts;
- $tcs = $this->tcs;
-
- // test adding children
- $tcs->addChild('a', 'b', 1);
- $tcs->addChild('a', 'c', 1);
- $this->assertEquals(array('b','c'), $tcs->getChildren('a', 1));
-
- // test adding a same child
- $tcs->addChild('a', 'b', 1);
- $this->assertEquals(array('b','c'), $tcs->getChildren('a', 1));
-
- // test removing a child
- $tcs->removeChild('a', 'b', 1);
- $this->assertEquals(array('c'), $tcs->getChildren('a', 1));
-
- // test removing a same child
- $tcs->removeChild('a', 'b', 1);
- $this->assertEquals(array('c'), $tcs->getChildren('a', 1));
-
- // test existing child
- $this->assertTrue($tcs->existsChild('a', 'c', 1));
- $this->assertTrue(!$tcs->existsChild('a', 'c', 2)); // wrong user
- $this->assertTrue(!$tcs->existsChild('a', 'b', 1)); // wrong child
-
- // test removing several children
- $tcs->addChild('e', 'f', 1);
- $tcs->addChild('e', 'g', 1);
- $tcs->addChild('e', 'h', 1);
- $tcs->removeChild('e', NULL, 1);
-
- $this->assertTrue(!$tcs->existsChild('e', 'f', 1));
- $this->assertTrue(!$tcs->existsChild('e', 'g', 1));
- $this->assertTrue(!$tcs->existsChild('e', 'h', 1));
-
- }
-
- public function testInclusionCacheIsUpdatedWhenATag2TagLinkIsCreatedOrRemoved() {
- $tts = $this->tts;
- $tcs = $this->tcs;
-
- // test inclusion without possible errors
- $tts->addLinkedTags('a', 'b', '>', 1);
- $tts->addLinkedTags('b', 'c', '>', 1);
- $tts->addLinkedTags('c', 'd', '>', 1);
- $tts->addLinkedTags('e', 'f', '>', 1);
- $tts->addLinkedTags('b', 'e', '>', 1);
-
- $this->assertSame(array('b','c','d','e','f'), $tts->getAllLinkedTags('a', '>', 1));
- $this->assertSame(array('c','d','e','f'), $tts->getAllLinkedTags('b', '>', 1));
-
- // test inclusion with deletion
- $tts->removeLinkedTags('b', 'c', '>', 1);
- $this->assertSame(array('b','e','f'), $tts->getAllLinkedTags('a', '>', 1));
- $this->assertSame(array('e','f'), $tts->getAllLinkedTags('b', '>', 1));
- $this->assertSame(array('d'), $tts->getAllLinkedTags('c', '>', 1));
- $this->assertSame(array('f'), $tts->getAllLinkedTags('e', '>', 1));
-
- }
-
- public function testInclusionResistsToTagCycles() {
- $tts = $this->tts;
- $tcs = $this->tcs;
-
- $tts->addLinkedTags('a', 'b', '>', 1);
- $tts->addLinkedTags('b', 'c', '>', 1);
- $tts->addLinkedTags('c', 'a', '>', 1); // creates cycle a>c>a
-
- $this->assertSame(array('b','c'), $tts->getAllLinkedTags('a', '>', 1));
- $this->assertSame(array('c', 'a'), $tts->getAllLinkedTags('b', '>', 1));
- $this->assertSame(array('a', 'b'), $tts->getAllLinkedTags('c', '>', 1));
- }
-
- public function testSynonymyAllowsToAddAndDeleteSynonyms() {
- $tts = $this->tts;
- $tcs = $this->tcs;
-
- // simple synonymy
- $tcs->addSynonym('a', 'b', 1);
- $tcs->addSynonym('a', 'c', 1);
-
- $this->assertEquals(array('b', 'c'), $tcs->getSynonyms('a', 1));
- $this->assertEquals(array('c', 'a'), $tcs->getSynonyms('b', 1));
- $this->assertEquals(array('b', 'a'), $tcs->getSynonyms('c', 1));
-
- //more advanced one 1
- $tcs->deleteByUser(1);
- $tcs->addSynonym('a', 'b', 1);
- $tcs->addSynonym('a', 'c', 1);
- $tcs->addSynonym('d', 'e', 1);
- $tcs->addSynonym('a', 'e', 1);
- $this->assertEquals(array('b', 'c', 'e', 'd'), $tcs->getSynonyms('a', 1));
-
- //more advanced one 2
- $tcs->deleteByUser(1);
- $tcs->addSynonym('a', 'b', 1);
- $tcs->addSynonym('a', 'c', 1);
- $tcs->addSynonym('d', 'e', 1);
- $tcs->addSynonym('a', 'd', 1);
- $this->assertEquals(array('b', 'c', 'd', 'e'), $tcs->getSynonyms('a', 1));
-
- //with Linked tags
- $tcs->deleteByUser(1);
- $tts->addLinkedTags('a', 'b', '=', 1);
- $tts->addLinkedTags('c', 'd', '=', 1);
- $tts->addLinkedTags('c', 'e', '=', 1);
- $tts->addLinkedTags('e', 'a', '=', 1);
- $this->assertEquals(array('b', 'e', 'c', 'd'), $tts->getAllLinkedTags('a', '=', 1));
-
- }
-
- public function testInclusionTakesSynonymsIntoAccount() {
- $tts = $this->tts;
- $tcs = $this->tcs;
-
- $tts->addLinkedTags('a', 'b', '>', 1);
- $tts->addLinkedTags('b', 'c', '>', 1);
- $tts->addLinkedTags('d', 'e', '>', 1);
- $tts->addLinkedTags('c', 'd', '=', 1);
-
- // results are put into cache
- $this->assertEquals(array('b', 'c', 'd', 'e'), $tts->getAllLinkedTags('a', '>', 1));
- $this->assertEquals(array('d', 'e'), $tts->getAllLinkedTags('c', '>', 1));
-
- // same results must be taken out from cache
- $this->assertEquals(array('b', 'c', 'd', 'e'), $tts->getAllLinkedTags('a', '>', 1));
- $this->assertEquals(array('d', 'e'), $tts->getAllLinkedTags('c', '>', 1));
-
- // check that result comes from cache (artificial changes in cache must appear in result)
- $tcs->removeChild('a', 'e', 1);
- $this->assertEquals(array('b', 'c', 'd'), $tts->getAllLinkedTags('a', '>', 1));
-
- //cache must be deleted for user when links are modified
- $tts->addLinkedTags('a', 'f', '=', 1);
- $this->assertEquals(array(), $tcs->getChildren('a', 1));
- $this->assertEquals(array(), $tcs->getSynonyms('d', 1));
- }
+ protected function setUp()
+ {
+ global $dbhost, $dbuser, $dbpass, $dbname, $dbport, $dbpersist, $dbtype, $tableprefix, $TEMPLATES_DIR, $debugMode;
+ require_once dirname(__FILE__) . '/../src/SemanticScuttle/header.php';
+
+ $this->us =SemanticScuttle_Service_Factory::get('User');
+ $this->bs =SemanticScuttle_Service_Factory::get('Bookmark');
+ $this->bs->deleteAll();
+ $this->b2ts =SemanticScuttle_Service_Factory::get('Bookmark2Tag');
+ $this->b2ts->deleteAll();
+ $this->tts =SemanticScuttle_Service_Factory::get('Tag2Tag');
+ $this->tts->deleteAll();
+ $this->tsts =SemanticScuttle_Service_Factory::get('TagStat');
+ $this->tsts->deleteAll();
+ $this->tcs =SemanticScuttle_Service_Factory::get('TagCache');
+ $this->tcs->deleteAll();
+ }
+
+ public function testInclusionAllowsToAddAndDeleteChildrenTags() {
+ //message_die(GENERAL_ERROR, $GLOBALS['dbname'].'1');
+
+ $tts = $this->tts;
+ $tcs = $this->tcs;
+
+ // test adding children
+ $tcs->addChild('a', 'b', 1);
+ $tcs->addChild('a', 'c', 1);
+ $this->assertEquals(array('b','c'), $tcs->getChildren('a', 1));
+
+ // test adding a same child
+ $tcs->addChild('a', 'b', 1);
+ $this->assertEquals(array('b','c'), $tcs->getChildren('a', 1));
+
+ // test removing a child
+ $tcs->removeChild('a', 'b', 1);
+ $this->assertEquals(array('c'), $tcs->getChildren('a', 1));
+
+ // test removing a same child
+ $tcs->removeChild('a', 'b', 1);
+ $this->assertEquals(array('c'), $tcs->getChildren('a', 1));
+
+ // test existing child
+ $this->assertTrue($tcs->existsChild('a', 'c', 1));
+ $this->assertTrue(!$tcs->existsChild('a', 'c', 2)); // wrong user
+ $this->assertTrue(!$tcs->existsChild('a', 'b', 1)); // wrong child
+
+ // test removing several children
+ $tcs->addChild('e', 'f', 1);
+ $tcs->addChild('e', 'g', 1);
+ $tcs->addChild('e', 'h', 1);
+ $tcs->removeChild('e', NULL, 1);
+
+ $this->assertTrue(!$tcs->existsChild('e', 'f', 1));
+ $this->assertTrue(!$tcs->existsChild('e', 'g', 1));
+ $this->assertTrue(!$tcs->existsChild('e', 'h', 1));
+
+ }
+
+ public function testInclusionCacheIsUpdatedWhenATag2TagLinkIsCreatedOrRemoved() {
+ $tts = $this->tts;
+ $tcs = $this->tcs;
+
+ // test inclusion without possible errors
+ $tts->addLinkedTags('a', 'b', '>', 1);
+ $tts->addLinkedTags('b', 'c', '>', 1);
+ $tts->addLinkedTags('c', 'd', '>', 1);
+ $tts->addLinkedTags('e', 'f', '>', 1);
+ $tts->addLinkedTags('b', 'e', '>', 1);
+
+ $this->assertSame(array('b','c','d','e','f'), $tts->getAllLinkedTags('a', '>', 1));
+ $this->assertSame(array('c','d','e','f'), $tts->getAllLinkedTags('b', '>', 1));
+
+ // test inclusion with deletion
+ $tts->removeLinkedTags('b', 'c', '>', 1);
+ $this->assertSame(array('b','e','f'), $tts->getAllLinkedTags('a', '>', 1));
+ $this->assertSame(array('e','f'), $tts->getAllLinkedTags('b', '>', 1));
+ $this->assertSame(array('d'), $tts->getAllLinkedTags('c', '>', 1));
+ $this->assertSame(array('f'), $tts->getAllLinkedTags('e', '>', 1));
+
+ }
+
+ public function testInclusionResistsToTagCycles() {
+ $tts = $this->tts;
+ $tcs = $this->tcs;
+
+ $tts->addLinkedTags('a', 'b', '>', 1);
+ $tts->addLinkedTags('b', 'c', '>', 1);
+ $tts->addLinkedTags('c', 'a', '>', 1); // creates cycle a>c>a
+
+ $this->assertSame(array('b','c'), $tts->getAllLinkedTags('a', '>', 1));
+ $this->assertSame(array('c', 'a'), $tts->getAllLinkedTags('b', '>', 1));
+ $this->assertSame(array('a', 'b'), $tts->getAllLinkedTags('c', '>', 1));
+ }
+
+ public function testSynonymyAllowsToAddAndDeleteSynonyms() {
+ $tts = $this->tts;
+ $tcs = $this->tcs;
+
+ // simple synonymy
+ $tcs->addSynonym('a', 'b', 1);
+ $tcs->addSynonym('a', 'c', 1);
+
+ $this->assertEquals(array('b', 'c'), $tcs->getSynonyms('a', 1));
+ $this->assertEquals(array('c', 'a'), $tcs->getSynonyms('b', 1));
+ $this->assertEquals(array('b', 'a'), $tcs->getSynonyms('c', 1));
+
+ //more advanced one 1
+ $tcs->deleteByUser(1);
+ $tcs->addSynonym('a', 'b', 1);
+ $tcs->addSynonym('a', 'c', 1);
+ $tcs->addSynonym('d', 'e', 1);
+ $tcs->addSynonym('a', 'e', 1);
+ $this->assertEquals(array('b', 'c', 'e', 'd'), $tcs->getSynonyms('a', 1));
+
+ //more advanced one 2
+ $tcs->deleteByUser(1);
+ $tcs->addSynonym('a', 'b', 1);
+ $tcs->addSynonym('a', 'c', 1);
+ $tcs->addSynonym('d', 'e', 1);
+ $tcs->addSynonym('a', 'd', 1);
+ $this->assertEquals(array('b', 'c', 'd', 'e'), $tcs->getSynonyms('a', 1));
+
+ //with Linked tags
+ $tcs->deleteByUser(1);
+ $tts->addLinkedTags('a', 'b', '=', 1);
+ $tts->addLinkedTags('c', 'd', '=', 1);
+ $tts->addLinkedTags('c', 'e', '=', 1);
+ $tts->addLinkedTags('e', 'a', '=', 1);
+ $this->assertEquals(array('b', 'e', 'c', 'd'), $tts->getAllLinkedTags('a', '=', 1));
+
+ }
+
+ public function testInclusionTakesSynonymsIntoAccount() {
+ $tts = $this->tts;
+ $tcs = $this->tcs;
+
+ $tts->addLinkedTags('a', 'b', '>', 1);
+ $tts->addLinkedTags('b', 'c', '>', 1);
+ $tts->addLinkedTags('d', 'e', '>', 1);
+ $tts->addLinkedTags('c', 'd', '=', 1);
+
+ // results are put into cache
+ $this->assertEquals(array('b', 'c', 'd', 'e'), $tts->getAllLinkedTags('a', '>', 1));
+ $this->assertEquals(array('d', 'e'), $tts->getAllLinkedTags('c', '>', 1));
+
+ // same results must be taken out from cache
+ $this->assertEquals(array('b', 'c', 'd', 'e'), $tts->getAllLinkedTags('a', '>', 1));
+ $this->assertEquals(array('d', 'e'), $tts->getAllLinkedTags('c', '>', 1));
+
+ // check that result comes from cache (artificial changes in cache must appear in result)
+ $tcs->removeChild('a', 'e', 1);
+ $this->assertEquals(array('b', 'c', 'd'), $tts->getAllLinkedTags('a', '>', 1));
+
+ //cache must be deleted for user when links are modified
+ $tts->addLinkedTags('a', 'f', '=', 1);
+ $this->assertEquals(array(), $tcs->getChildren('a', 1));
+ $this->assertEquals(array(), $tcs->getSynonyms('d', 1));
+ }
}
if (PHPUnit_MAIN_METHOD == 'TagsCacheTest::main') {