138 } |
138 } |
139 |
139 |
140 public function testGetOtherTypes() { |
140 public function testGetOtherTypes() { |
141 $doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $this->inputGraphes['TEST']); |
141 $doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $this->inputGraphes['TEST']); |
142 |
142 |
143 $this->assertCount(5, $doc->getOtherTypes(), "types array must be of size 5"); |
143 $this->assertCount(6, $doc->getOtherTypes(), "types array must be of size 5"); |
144 |
144 |
145 foreach($doc->getTypes() as $type) { |
145 foreach($doc->getTypes() as $type) { |
146 $this->assertThat( |
146 $this->assertThat( |
147 $type, |
147 $type, |
148 $this->logicalXor( |
148 $this->logicalXor( |
154 } |
154 } |
155 |
155 |
156 public function testGetDiscourseTypes() { |
156 public function testGetDiscourseTypes() { |
157 $doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $this->inputGraphes['TEST']); |
157 $doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $this->inputGraphes['TEST']); |
158 |
158 |
159 $this->assertCount(3, $doc->getDiscourseTypes(), "types array must be of size 3"); |
159 $this->assertCount(2, $doc->getDiscourseTypes(), "types array must be of size 3"); |
160 |
160 |
161 $this->assertContainsOnlyInstancesOf("EasyRdf\Literal", $doc->getDiscourseTypes(), "Result contains only literals"); |
161 $this->assertContainsOnlyInstancesOf("EasyRdf\Resource", $doc->getDiscourseTypes(), "Result contains only Resources"); |
162 $type = $doc->getDiscourseTypes()[0]; |
162 $type = $doc->getDiscourseTypes()[0]; |
163 $this->assertEquals("narrative", $type->getValue(), "discourse type is narrative"); |
163 $this->assertEquals("http://ark.bnf.fr/ark:/12148/cb11932135w", $type->getUri(), "discourse type is cb11932135w"); |
164 $this->assertEquals("http://www.language-archives.org/OLAC/1.1/discourse-type", $type->getDatatypeUri(), "discourse type url"); |
|
165 } |
164 } |
166 |
165 |
167 public function testCloneDocument() { |
166 public function testCloneDocument() { |
168 $doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $this->inputGraphes['TEST']); |
167 $doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $this->inputGraphes['TEST']); |
169 |
168 |
186 $this->assertFalse($doc1->isIsomorphic($doc2),"document must not be isomorphic"); |
185 $this->assertFalse($doc1->isIsomorphic($doc2),"document must not be isomorphic"); |
187 } |
186 } |
188 |
187 |
189 public function testUpdateDiscourseTypes() { |
188 public function testUpdateDiscourseTypes() { |
190 |
189 |
191 $newDiscourseTypes = ['oratory','dialogue','narrative', 'formulaic', 'ludic']; |
190 $newDiscourseTypes = ["http://ark.bnf.fr/ark:/12148/cb11932135w" , "http://ark.bnf.fr/ark:/12148/cb13319048g", "http://ark.bnf.fr/ark:/12148/cb11949715t" , "http://ark.bnf.fr/ark:/12148/cb119783362"]; |
192 |
191 |
193 $doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $this->inputGraphes['TEST']); |
192 $doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $this->inputGraphes['TEST']); |
194 $this->assertCount(3, $doc->getDiscourseTypes(), "types array must be of size 3"); |
193 $this->assertCount(2, $doc->getDiscourseTypes(), "types array must be of size 2"); |
195 |
194 |
196 $doc->updateDiscourseTypes($newDiscourseTypes); |
195 $doc->updateDiscourseTypes($newDiscourseTypes); |
197 |
196 |
198 $this->assertCount(5, $doc->getDiscourseTypes(), "types array must be of size 5"); |
197 $this->assertCount(4, $doc->getDiscourseTypes(), "types array must be of size 4"); |
199 |
198 |
200 $discourseTypes = $doc->getDiscourseTypes(); |
199 $discourseTypes = $doc->getDiscourseTypes(); |
201 foreach($newDiscourseTypes as $dt) { |
200 foreach($newDiscourseTypes as $dt) { |
202 $this->assertContains($dt, $discourseTypes, "all discourse types must be in result list"); |
201 $this->assertContains($dt, $discourseTypes, "all discourse types must be in result list"); |
203 } |
202 } |
204 |
203 |
205 } |
204 } |
206 |
205 |
207 public function testUpdateDiscourseTypesDelta() { |
206 public function testUpdateDiscourseTypesDelta() { |
208 |
207 |
209 $newDiscourseTypes = ['oratory','dialogue','narrative', 'formulaic', 'ludic']; |
208 $newDiscourseTypes = ["http://ark.bnf.fr/ark:/12148/cb11932135w" , "http://ark.bnf.fr/ark:/12148/cb13319048g", "http://ark.bnf.fr/ark:/12148/cb11949715t" , "http://ark.bnf.fr/ark:/12148/cb119783362"]; |
210 |
209 |
211 $doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $this->inputGraphes['TEST']); |
210 $doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $this->inputGraphes['TEST']); |
212 |
211 |
213 $doc->updateDiscourseTypes($newDiscourseTypes); |
212 $doc->updateDiscourseTypes($newDiscourseTypes); |
214 |
213 |
219 $delta = $doc->getDeltaList()[0]; |
218 $delta = $doc->getDeltaList()[0]; |
220 |
219 |
221 $this->assertEquals(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $delta->getDeletedGraph()->getUri(), "uri of deleted graph must be ok"); |
220 $this->assertEquals(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $delta->getDeletedGraph()->getUri(), "uri of deleted graph must be ok"); |
222 $this->assertEquals(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $delta->getAddedGraph()->getUri(), "uri of added graph must be ok"); |
221 $this->assertEquals(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $delta->getAddedGraph()->getUri(), "uri of added graph must be ok"); |
223 |
222 |
224 $this->assertEquals(3, $delta->getDeletedGraph()->countTriples(), "deleted graph must have only 3 triples"); |
223 $this->assertEquals(2, $delta->getDeletedGraph()->countTriples(), "deleted graph must have only 2 triples"); |
225 $this->assertEquals(5, $delta->getAddedGraph()->countTriples(), "deleted graph must have only 5 triples"); |
224 $this->assertEquals(4, $delta->getAddedGraph()->countTriples(), "deleted graph must have only 4 triples"); |
226 |
225 |
227 $resQueryDiscourseType = $delta->getAddedGraph()->allLiterals($doc->getProvidedCHO(), 'dc11:type'); |
226 $resQueryDiscourseType = $delta->getAddedGraph()->allResources($doc->getProvidedCHO(), 'dc11:type'); |
228 foreach($resQueryDiscourseType as $dt) { |
227 foreach($resQueryDiscourseType as $dt) { |
229 $this->assertInstanceOf(EasyRdf\Literal::class, $dt, "This must be a litteral"); |
228 $this->assertInstanceOf(EasyRdf\Resource::class, $dt, "This must be a Resource"); |
230 $this->assertEquals('http://www.language-archives.org/OLAC/1.1/discourse-type', $dt->getDatatypeUri(), "The type of the Litteral must be correct"); |
229 $this->assertRegexp(config('corpusparole.bnf_ark_url_regexp'), $dt->getUri(), "The resource uri must be bnf ark"); |
231 } |
230 } |
232 foreach($newDiscourseTypes as $dt) { |
231 foreach($newDiscourseTypes as $dt) { |
233 $this->assertContains($dt, $resQueryDiscourseType, "all discourse types must be in result list"); |
232 $this->assertContains($dt, $resQueryDiscourseType, "all discourse types must be in result list"); |
234 } |
233 } |
235 |
234 |