17 import(
'lib.pkp.tests.PKPTestCase');
18 import(
'classes/issue/Issue');
19 import(
'classes/article/Submission');
20 import(
'classes/article/ArticleGalley');
21 import(
'plugins.importexport.medra.classes.O4DOIObjectCache');
29 $cache =
new O4DOIObjectCache();
34 self::assertFalse($cache->isCached(
'issues', $issue->getId()));
35 $cache->add($issue, $nullVar);
36 self::assertTrue($cache->isCached(
'issues', $issue->getId()));
38 $retrievedIssue = $cache->get(
'issues', $issue->getId());
39 self::assertEquals($issue, $retrievedIssue);
47 $cache =
new O4DOIObjectCache();
51 $article->setIssueId(
'1');
53 self::assertFalse($cache->isCached(
'articles', $article->getId()));
54 self::assertFalse($cache->isCached(
'articlesByIssue', $article->getCurrentPublication()->getData(
'issueId')));
55 self::assertFalse($cache->isCached(
'articlesByIssue', $article->getCurrentPublication()->getData(
'issueId'), $article->getId()));
56 $cache->add($article, $nullVar);
57 self::assertTrue($cache->isCached(
'articles', $article->getId()));
58 self::assertFalse($cache->isCached(
'articlesByIssue', $article->getCurrentPublication()->getData(
'issueId')));
59 self::assertTrue($cache->isCached(
'articlesByIssue', $article->getCurrentPublication()->getData(
'issueId'), $article->getId()));
61 $retrievedArticle = $cache->get(
'articles', $article->getId());
62 self::assertEquals($article, $retrievedArticle);
71 $cache =
new O4DOIObjectCache();
75 $article->setIssueId(
'1');
78 $articleGalley->setId(
'3');
79 $articleGalley->setArticleId($article->getId());
81 self::assertFalse($cache->isCached(
'galleys', $articleGalley->getId()));
82 self::assertFalse($cache->isCached(
'galleysByArticle', $article->getId()));
83 self::assertFalse($cache->isCached(
'galleysByArticle', $article->getId(), $articleGalley->getId()));
84 self::assertFalse($cache->isCached(
'galleysByIssue', $article->getCurrentPublication()->getData(
'issueId')));
85 self::assertFalse($cache->isCached(
'galleysByIssue', $article->getCurrentPublication()->getData(
'issueId'), $articleGalley->getId()));
86 $cache->add($articleGalley, $article);
87 self::assertTrue($cache->isCached(
'galleys', $articleGalley->getId()));
88 self::assertFalse($cache->isCached(
'galleysByArticle', $article->getId()));
89 self::assertTrue($cache->isCached(
'galleysByArticle', $article->getId(), $articleGalley->getId()));
90 self::assertFalse($cache->isCached(
'galleysByIssue', $article->getCurrentPublication()->getData(
'issueId')));
91 self::assertTrue($cache->isCached(
'galleysByIssue', $article->getCurrentPublication()->getData(
'issueId'), $articleGalley->getId()));
93 $retrievedArticleGalley1 = $cache->get(
'galleys', $articleGalley->getId());
94 self::assertEquals($articleGalley, $retrievedArticleGalley1);
96 $retrievedArticleGalley2 = $cache->get(
'galleysByIssue', $article->getCurrentPublication()->getData(
'issueId'), $articleGalley->getId());
97 self::assertEquals($retrievedArticleGalley1, $retrievedArticleGalley2);
99 $cache->markComplete(
'galleysByArticle', $article->getId());
100 self::assertTrue($cache->isCached(
'galleysByArticle', $article->getId()));
101 self::assertFalse($cache->isCached(
'galleysByIssue', $article->getCurrentPublication()->getData(
'issueId')));
109 $cache =
new O4DOIObjectCache();
112 $article->setId(
'2');
113 $article->setIssueId(
'1');
116 $articleGalley1->setId(
'3');
117 $articleGalley1->setArticleId($article->getId());
120 $articleGalley2->setId(
'4');
121 $articleGalley2->setArticleId($article->getId());
124 $cache->add($articleGalley2, $article);
125 $cache->add($articleGalley1, $article);
127 $cache->markComplete(
'galleysByArticle', $article->getId());
130 $retrievedGalleys = $cache->get(
'galleysByArticle', $article->getId());
131 $expectedGalleys = array(
132 3 => $articleGalley1,
135 self::assertEquals($expectedGalleys, $retrievedGalleys);
138 self::assertTrue($cache->isCached(
'galleysByArticle', $article->getId()));