--- a/server/src/tests/Libraries/Mergers/CocoonTextRdfMergerTest.php Wed Feb 08 16:38:09 2017 +0100
+++ b/server/src/tests/Libraries/Mergers/CocoonTextRdfMergerTest.php Thu Feb 09 15:05:36 2017 +0100
@@ -14,249 +14,14 @@
class CocoonTextRdfMergerTest extends TestCase
{
-
const TEST_INPUT_DOCS = [
- 'SOUND' => <<<EOT
- @prefix ore: <http://www.openarchives.org/ore/terms/> .
- @prefix edm: <http://www.europeana.eu/schemas/edm/> .
- @prefix dc11: <http://purl.org/dc/elements/1.1/> .
- @prefix olac: <http://www.language-archives.org/OLAC/1.1/> .
- @prefix dc: <http://purl.org/dc/terms/> .
- @prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
- @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
- @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
- @prefix owl: <http://www.w3.org/2002/07/owl#> .
-
- <http://purl.org/poi/corpusdelaparole.huma-num.fr/crdo-UVE_MOCIKA_SOUND>
- a ore:Aggregation ;
- edm:aggregatedCHO <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-UVE_MOCIKA_SOUND> ;
- edm:provider "Corpus de la Parole"@fr ;
- edm:dataProvider "Laboratoire de langues et civilisations à tradition orale" ;
- edm:isShownAt <http://cocoon.huma-num.fr/exist/crdo/meta/crdo-UVE_MOCIKA_SOUND> ;
- edm:isShownBy <http://cocoon.huma-num.fr/data/archi/masters/144187.wav> ;
- edm:rights <http://creativecommons.org/licenses/by-nc-nd/4.0/> ;
- edm:hasView <http://cocoon.huma-num.fr/data/archi/144187_MOCIKA_22km.wav>, <http://cocoon.huma-num.fr/data/archi/mp3/144187_MOCIKA_44k.mp3> .
-
- <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-UVE_MOCIKA_SOUND>
- a edm:ProvidedCHO ;
- dc:identifier "crdo-UVE_MOCIKA_SOUND" ;
- dc11:description "Voilà pourquoi le bernard-l'hermite, aujourd'hui, se cache dans les coquilles vides qu'il trouve, alors que le crabe de cocotier n'a pas honte de se promener tout nu."@fr ;
- dc11:language <http://lexvo.org/id/iso639-3/uve> ;
- dc11:publisher "Laboratoire de langues et civilisations à tradition orale" ;
- dc11:rights "Copyright (c) Moyse-Faurie, Claire" ;
- dc11:type <http://purl.org/dc/dcmitype/Sound>, "primary_text"^^olac:linguistic-type, "narrative"^^olac:discourse-type, <http://ark.bnf.fr/ark:/12148/cb11937212q> ;
- dc:license <http://creativecommons.org/licenses/by-nc-nd/2.5/> ;
- dc11:subject <http://ark.bnf.fr/ark:/12148/cb11958119h>, <http://lexvo.org/id/iso639-3/uve>, <http://ark.bnf.fr/ark:/12148/cb11953067w> ;
- dc11:title "The two hermit crabs and the coconut crab"@en ;
- dc:accessRights "Freely available for non-commercial use" ;
- dc11:rights "Copyright (c) 2012 Université d'Orléans/LLL" ;
- dc:extent "PT2M35S" ;
- edm:isGatheredInto <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_LANGUESDEFRANCE>, <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_LACITO> ;
- olac:depositor <http://viaf.org/viaf/56614135> ;
- dc11:contributor <http://viaf.org/viaf/56614135>, "Idakote, Félicien" ;
- olac:researcher <http://viaf.org/viaf/56614135> ;
- olac:speaker "Idakote, Félicien" ;
- dc:available "2010-10-23"^^dc:W3CDTF ;
- dc:created "1997-08-29"^^dc:W3CDTF ;
- dc:issued "2010-10-23T00:08:27+02:00"^^dc:W3CDTF ;
- dc:modified "2012-03-25"^^dc:W3CDTF ;
- dc:spatial [
- a edm:Place ;
- geo:lat "-20.46667"^^xsd:float ;
- geo:long "166.65"^^xsd:float ;
- skos:note "NC"^^dc:ISO3166, "New Caledonia, Ohnyat (Ouvéa)" ;
- owl:sameAs <http://sws.geonames.org/2139490/>
- ] .
-
- <http://cocoon.huma-num.fr/data/archi/masters/144187.wav>
- a edm:WebResource ;
- dc:extent "PT2M35S" ;
- dc11:format "audio/x-wav"^^dc:IMT ;
- dc:created "1997-08-29"^^dc:W3CDTF ;
- dc:issued "2010-10-23T00:08:27+02:00"^^dc:W3CDTF ;
- dc:license <http://creativecommons.org/licenses/by-nc-sa/3.0/> ;
- dc:accessRights "Freely available for non-commercial use" ;
- dc11:rights "Copyright (c) 2012 Université d'Orléans/LLL" .
-
-
- <http://cocoon.huma-num.fr/data/archi/144187_MOCIKA_22km.wav>
- a edm:WebResource ;
- dc:extent "PT2M35S" ;
- dc11:format "audio/x-wav"^^dc:IMT ;
- edm:isDerivativeOf <http://cocoon.huma-num.fr/data/archi/masters/144187.wav> ;
- dc:created "1997-08-29"^^dc:W3CDTF ;
- dc:issued "2010-10-23T00:08:27+02:00"^^dc:W3CDTF ;
- dc:license <http://creativecommons.org/licenses/by-nc-sa/3.0/> ;
- dc:accessRights "Freely available for non-commercial use" ;
- dc11:rights "Copyright (c) 2012 Université d'Orléans/LLL" .
-
-
- <http://cocoon.huma-num.fr/data/archi/mp3/144187_MOCIKA_44k.mp3>
- a edm:WebResource ;
- dc:extent "PT2M35S" ;
- dc11:format "audio/mpeg"^^dc:IMT ;
- edm:isDerivativeOf <http://cocoon.huma-num.fr/data/archi/masters/144187.wav> ;
- dc:created "1997-08-29"^^dc:W3CDTF ;
- dc:issued "2010-10-23T00:08:27+02:00"^^dc:W3CDTF ;
- dc:license <http://creativecommons.org/licenses/by-nc-sa/3.0/> ;
- dc:accessRights "Freely available for non-commercial use" ;
- dc11:rights "Copyright (c) 2012 Université d'Orléans/LLL" .
-
-EOT
- ,
- 'SOUND_NO_MOD' => <<<EOT
- @prefix ore: <http://www.openarchives.org/ore/terms/> .
- @prefix edm: <http://www.europeana.eu/schemas/edm/> .
- @prefix dc11: <http://purl.org/dc/elements/1.1/> .
- @prefix olac: <http://www.language-archives.org/OLAC/1.1/> .
- @prefix dc: <http://purl.org/dc/terms/> .
- @prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
- @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
- @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
- @prefix owl: <http://www.w3.org/2002/07/owl#> .
-
- <http://purl.org/poi/corpusdelaparole.huma-num.fr/crdo-UVE_MOCIKA_SOUND>
- a ore:Aggregation ;
- edm:aggregatedCHO <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-UVE_MOCIKA_SOUND> ;
- edm:provider "Corpus de la Parole"@fr ;
- edm:dataProvider "Laboratoire de langues et civilisations à tradition orale" ;
- edm:isShownAt <http://cocoon.huma-num.fr/exist/crdo/meta/crdo-UVE_MOCIKA_SOUND> ;
- edm:isShownBy <http://cocoon.huma-num.fr/data/archi/masters/144187.wav> ;
- edm:rights <http://creativecommons.org/licenses/by-nc-sa/4.0/> ;
- edm:hasView <http://cocoon.huma-num.fr/data/archi/144187_MOCIKA_22km.wav>, <http://cocoon.huma-num.fr/data/archi/mp3/144187_MOCIKA_44k.mp3> .
-
- <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-UVE_MOCIKA_SOUND>
- a edm:ProvidedCHO ;
- dc:identifier "crdo-UVE_MOCIKA_SOUND" ;
- dc11:description "Voilà pourquoi le bernard-l'hermite, aujourd'hui, se cache dans les coquilles vides qu'il trouve, alors que le crabe de cocotier n'a pas honte de se promener tout nu."@fr ;
- dc11:language <http://lexvo.org/id/iso639-3/uve> ;
- dc11:publisher "Laboratoire de langues et civilisations à tradition orale" ;
- dc11:rights "Copyright (c) Moyse-Faurie, Claire" ;
- dc11:type <http://purl.org/dc/dcmitype/Sound>, "primary_text"^^olac:linguistic-type, "narrative"^^olac:discourse-type, <http://ark.bnf.fr/ark:/12148/cb11937212q> ;
- dc:license <http://creativecommons.org/licenses/by-nc-nd/2.5/> ;
- dc11:subject <http://ark.bnf.fr/ark:/12148/cb11958119h>, <http://lexvo.org/id/iso639-3/uve>, <http://ark.bnf.fr/ark:/12148/cb11953067w> ;
- dc11:title "The two hermit crabs and the coconut crab"@en ;
- dc:accessRights "Freely available for non-commercial use" ;
- dc11:rights "Copyright (c) 2012 Université d'Orléans/LLL" ;
- dc:extent "PT2M35S" ;
- edm:isGatheredInto <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_LANGUESDEFRANCE>, <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_LACITO> ;
- olac:depositor <http://viaf.org/viaf/56614135> ;
- dc11:contributor <http://viaf.org/viaf/56614135>, "Idakote, Félicien" ;
- olac:researcher <http://viaf.org/viaf/56614135> ;
- olac:speaker "Idakote, Félicien" ;
- dc:available "2010-10-23"^^dc:W3CDTF ;
- dc:created "1997-08-29"^^dc:W3CDTF ;
- dc:issued "2010-10-23T00:08:27+02:00"^^dc:W3CDTF ;
- dc:spatial [
- a edm:Place ;
- geo:lat "-20.46667"^^xsd:float ;
- geo:long "166.65"^^xsd:float ;
- skos:note "NC"^^dc:ISO3166, "New Caledonia, Ohnyat (Ouvéa)" ;
- owl:sameAs <http://sws.geonames.org/2139490/>
- ] .
-
- <http://cocoon.huma-num.fr/data/archi/masters/144187.wav>
- a edm:WebResource ;
- dc:extent "PT2M35S" ;
- dc11:format "audio/x-wav"^^dc:IMT ;
- dc:created "1997-08-29"^^dc:W3CDTF ;
- dc:issued "2010-10-23T00:08:27+02:00"^^dc:W3CDTF ;
- dc:license <http://creativecommons.org/licenses/by-nc-sa/3.0/> ;
- dc:accessRights "Freely available for non-commercial use" ;
- dc11:rights "Copyright (c) 2012 Université d'Orléans/LLL" .
-
-
- <http://cocoon.huma-num.fr/data/archi/144187_MOCIKA_22km.wav>
- a edm:WebResource ;
- dc:extent "PT2M35S" ;
- dc11:format "audio/x-wav"^^dc:IMT ;
- edm:isDerivativeOf <http://cocoon.huma-num.fr/data/archi/masters/144187.wav> ;
- dc:created "1997-08-29"^^dc:W3CDTF ;
- dc:issued "2010-10-23T00:08:27+02:00"^^dc:W3CDTF ;
- dc:license <http://creativecommons.org/licenses/by-nc-sa/3.0/> ;
- dc:accessRights "Freely available for non-commercial use" ;
- dc11:rights "Copyright (c) 2012 Université d'Orléans/LLL" .
-
-
- <http://cocoon.huma-num.fr/data/archi/mp3/144187_MOCIKA_44k.mp3>
- a edm:WebResource ;
- dc:extent "PT2M35S" ;
- dc11:format "audio/mpeg"^^dc:IMT ;
- edm:isDerivativeOf <http://cocoon.huma-num.fr/data/archi/masters/144187.wav> ;
- dc:created "1997-08-29"^^dc:W3CDTF ;
- dc:issued "2010-10-23T00:08:27+02:00"^^dc:W3CDTF ;
- dc:license <http://creativecommons.org/licenses/by-nc-sa/3.0/> ;
- dc:accessRights "Freely available for non-commercial use" ;
- dc11:rights "Copyright (c) 2012 Université d'Orléans/LLL" .
-
-EOT
- ,
- 'TEXT' => <<<EOT
- @prefix ore: <http://www.openarchives.org/ore/terms/> .
- @prefix edm: <http://www.europeana.eu/schemas/edm/> .
- @prefix dc11: <http://purl.org/dc/elements/1.1/> .
- @prefix olac: <http://www.language-archives.org/OLAC/1.1/> .
- @prefix dc: <http://purl.org/dc/terms/> .
- @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
-
- <http://purl.org/poi/corpusdelaparole.huma-num.fr/crdo-UVE_MOCIKA_SOUND>
- a ore:Aggregation ;
- edm:aggregatedCHO <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-UVE_MOCIKA_SOUND> ;
- edm:provider "Corpus de la Parole"@fr ;
- edm:dataProvider <http://viaf.org/viaf/154919513> ;
- edm:isShownAt <http://cocoon.huma-num.fr/exist/crdo/meta/crdo-UVE_MOCIKA_SOUND> ;
- edm:isShownBy <http://cocoon.huma-num.fr/exist/crdo/moyse-faurie/uve/crdo-UVE_MOCIKA.xml> ;
- edm:rights <http://creativecommons.org/licenses/by-nc-sa/4.0/> ;
- edm:hasView <http://cocoon.huma-num.fr/exist/crdo/moyse-faurie/uve/crdo-UVE_MOCIKA.xml>, <http://cocoon.huma-num.fr/exist/crdo/moyse-faurie/uve/crdo-UVE_MOCIKA.xhtml> .
-
- <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-UVE_MOCIKA_SOUND>
- a edm:ProvidedCHO ;
- dc:identifier "crdo-UVE_MOCIKA_SOUND" ;
- dc11:description "Voilà pourquoi le bernard-l'hermite, aujourd'hui, se cache dans les coquilles vides qu'il trouve, alors que le crabe de cocotier n'a pas honte de se promener tout nu."@fr ;
- dc11:language <http://lexvo.org/id/iso639-3/uve> ;
- dc11:publisher <http://viaf.org/viaf/154919513> ;
- dc11:rights "Copyright (c) Moyse-Faurie, Claire" ;
- dc11:type "primary_text"^^olac:linguistic-type, <http://purl.org/dc/dcmitype/Text>, "narrative"^^olac:discourse-type ;
- dc:license <http://creativecommons.org/licenses/by-nc-sa/2.5/> ;
- dc11:subject <http://lexvo.org/id/iso639-3/uve> ;
- dc11:title "The two hermit crabs and the coconut crab"@en ;
- dc:accessRights "Freely available for non-commercial use" ;
- dc11:rights "Copyright (c) 2012 Université d'Orléans/LLL" ;
- edm:isGatheredInto <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_LANGUESDEFRANCE>, <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_LACITO> ;
- dc:alternative "Les deux bernard-l'hermite et le crabe de cocotier"@fr ;
- olac:depositor <http://viaf.org/viaf/56614135> ;
- dc11:contributor <http://viaf.org/viaf/56614135>, "Moyse-Faurie, Claire", "Idakote, Félicien" ;
- olac:researcher "Moyse-Faurie, Claire" ;
- olac:speaker "Idakote, Félicien" ;
- dc:available "2011-02-05"^^dc:W3CDTF ;
- dc:issued "2011-02-05T23:22:23+01:00"^^dc:W3CDTF ;
- dc:modified "2002-02-20"^^dc:W3CDTF ;
- dc:spatial [
- a edm:Place ;
- skos:note "NC"^^dc:ISO3166, "New Caledonia, Ohnyat (Ouvéa)"
- ] .
-
- <http://cocoon.huma-num.fr/exist/crdo/moyse-faurie/uve/crdo-UVE_MOCIKA.xml>
- a edm:WebResource ;
- dc11:format "application/xml"^^dc:IMT ;
- dc:issued "2011-02-05T23:22:23+01:00"^^dc:W3CDTF ;
- dc:license <http://creativecommons.org/licenses/by-nc-sa/3.0/> ;
- dc:accessRights "Freely available for non-commercial use" ;
- dc11:rights "Copyright (c) 2012 Université d'Orléans/LLL" .
-
-
- <http://cocoon.huma-num.fr/exist/crdo/moyse-faurie/uve/crdo-UVE_MOCIKA.xhtml>
- a edm:WebResource ;
- dc11:format "application/xhtml+xml"^^dc:IMT ;
- dc:issued "2011-02-05T23:22:23+01:00"^^dc:W3CDTF ;
- dc:license <http://creativecommons.org/licenses/by-nc-sa/3.0/> ;
- dc:accessRights "Freely available for non-commercial use" ;
- dc11:rights "Copyright (c) 2012 Université d'Orléans/LLL" .
-
-EOT
+ 'SOUND' => __DIR__.'/files/CocoonTextRdfMergerTest/sound.ttl',
+ 'SOUND_NO_MOD' => __DIR__.'/files/CocoonTextRdfMergerTest/sound_no_mod.ttl',
+ 'SOUND_NO_CREATED' => __DIR__.'/files/CocoonTextRdfMergerTest/sound_no_created.ttl',
+ 'TEXT' => __DIR__.'/files/CocoonTextRdfMergerTest/text.ttl',
+ 'TEXT_CREATED' => __DIR__.'/files/CocoonTextRdfMergerTest/text_created.ttl'
];
-
private $inputGraphes = [];
private $resGraph = [];
@@ -268,7 +33,7 @@
parent::setUp();
foreach(CocoonTextRdfMergerTest::TEST_INPUT_DOCS as $key => $inputDoc) {
- $this->inputGraphes[$key] = new Graph("http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-CFPP2000_35_SOUND", $inputDoc);
+ $this->inputGraphes[$key] = new Graph("http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-CFPP2000_35_SOUND", file_get_contents($inputDoc));
}
$merger = new CocoonTextRdfMerger();
@@ -279,6 +44,25 @@
$this->resGraph['SOUND_NO_MOD_TEXT'] = $merger->mergeGraph($this->inputGraphes['SOUND_NO_MOD'], $this->inputGraphes['TEXT']);
$merger = new CocoonSoundRdfMerger();
$this->resGraph['TEXT_SOUND_NO_MOD'] = $merger->mergeGraph($this->inputGraphes['TEXT'], $this->inputGraphes['SOUND_NO_MOD']);
+
+ $merger = new CocoonSoundRdfMerger();
+ $this->resGraph['CREATED_TEXT_NO_CREATED_SOUND_NO_CREATED'] = $merger->mergeGraph($this->inputGraphes['TEXT'], $this->inputGraphes['SOUND_NO_CREATED']);
+ $merger = new CocoonSoundRdfMerger();
+ $this->resGraph['CREATED_TEXT_SOUND_NO_CREATED'] = $merger->mergeGraph($this->inputGraphes['TEXT_CREATED'], $this->inputGraphes['SOUND_NO_CREATED']);
+ $merger = new CocoonSoundRdfMerger();
+ $this->resGraph['CREATED_TEXT_NO_CREATED_SOUND'] = $merger->mergeGraph($this->inputGraphes['TEXT'], $this->inputGraphes['SOUND']);
+ $merger = new CocoonSoundRdfMerger();
+ $this->resGraph['CREATED_TEXT_SOUND'] = $merger->mergeGraph($this->inputGraphes['TEXT_CREATED'], $this->inputGraphes['SOUND']);
+
+ $merger = new CocoonTextRdfMerger();
+ $this->resGraph['CREATED_SOUND_NO_CREATED_TEXT_NO_CREATED'] = $merger->mergeGraph($this->inputGraphes['SOUND_NO_CREATED'], $this->inputGraphes['TEXT']);
+ $merger = new CocoonTextRdfMerger();
+ $this->resGraph['CREATED_SOUND_TEXT_NO_CREATED'] = $merger->mergeGraph($this->inputGraphes['SOUND'], $this->inputGraphes['TEXT']);
+ $merger = new CocoonTextRdfMerger();
+ $this->resGraph['CREATED_SOUND_NO_CREATED_TEXT'] = $merger->mergeGraph($this->inputGraphes['SOUND_NO_CREATED'], $this->inputGraphes['TEXT_CREATED']);
+ $merger = new CocoonTextRdfMerger();
+ $this->resGraph['CREATED_SOUND_TEXT'] = $merger->mergeGraph($this->inputGraphes['SOUND'], $this->inputGraphes['TEXT_CREATED']);
+
}
public function tearDown() {
@@ -448,5 +232,187 @@
}
+ /**
+ * Test merge created merge TEXT with no created into SOUND with no created
+ * Should have no values
+ * @return void
+ */
+ public function testCreatedSoundNocreatedTextNoCreated() {
+
+ $resGraph = $this->resGraph["CREATED_SOUND_NO_CREATED_TEXT_NO_CREATED"];
+
+ $providedCHO = $resGraph->get('edm:ProvidedCHO', '^rdf:type');
+ $this->assertNotNull($providedCHO);
+
+ $outputValuesStr = [];
+ foreach($providedCHO->all($resGraph->resource("http://purl.org/dc/terms/created")) as $outputValue) {
+ array_push($outputValuesStr, strval($outputValue));
+ }
+ $this->assertEmpty($outputValuesStr, "we must found no values to test http://purl.org/dc/terms/created");
+ }
+
+ /**
+ * Test merge created merge TEXT with created into SOUND with no created
+ * Should have no values
+ * @return void
+ */
+ public function testCreatedSoundNoCreatedTextCreated() {
+
+ $resGraph = $this->resGraph["CREATED_SOUND_NO_CREATED_TEXT"];
+
+ $providedCHO = $resGraph->get('edm:ProvidedCHO', '^rdf:type');
+ $this->assertNotNull($providedCHO);
+
+ $outputValuesStr = [];
+ foreach($providedCHO->all($resGraph->resource("http://purl.org/dc/terms/created")) as $outputValue) {
+ array_push($outputValuesStr, strval($outputValue));
+ }
+ $this->assertEmpty($outputValuesStr, "we must found no values to test http://purl.org/dc/terms/created");
+
+ }
+
+ /**
+ * Test merge created
+ * Merge TEXT with no created into SOUND with created
+ * Should have no values
+ * @return void
+ */
+ public function testCreatedSoundCreatedTextNoCreated() {
+
+ $resGraph = $this->resGraph["CREATED_SOUND_TEXT_NO_CREATED"];
+
+ $providedCHO = $resGraph->get('edm:ProvidedCHO', '^rdf:type');
+ $baseNode = $this->inputGraphes['SOUND']->get('edm:ProvidedCHO', '^rdf:type');
+ $this->assertNotNull($providedCHO);
+ $this->assertNotNull($baseNode);
+
+ $outputValuesStr = [];
+ foreach($providedCHO->all($resGraph->resource("http://purl.org/dc/terms/created")) as $outputValue) {
+ array_push($outputValuesStr, strval($outputValue));
+ }
+ $this->assertNotEmpty($outputValuesStr, "we must foundvalues to test http://purl.org/dc/terms/created");
+ $this->assertCount(1, $outputValuesStr, "We should have one value");
+ $baseCreated = $baseNode->get("<http://purl.org/dc/terms/created>");
+ $this->assertEquals($outputValuesStr[0], strval($baseCreated), "We must same value than in sound");
+
+ }
+
+ /**
+ * Test merge created
+ * Merge TEXT with created into SOUND with created
+ * Should have no values
+ * @return void
+ */
+ public function testCreatedSoundCreatedTextCreated() {
+
+ $resGraph = $this->resGraph["CREATED_SOUND_TEXT"];
+
+ $providedCHO = $resGraph->get('edm:ProvidedCHO', '^rdf:type');
+ $baseNode = $this->inputGraphes['SOUND']->get('edm:ProvidedCHO', '^rdf:type');
+ $this->assertNotNull($providedCHO);
+ $this->assertNotNull($baseNode);
+
+ $outputValuesStr = [];
+ foreach($providedCHO->all($resGraph->resource("http://purl.org/dc/terms/created")) as $outputValue) {
+ array_push($outputValuesStr, strval($outputValue));
+ }
+ $this->assertNotEmpty($outputValuesStr, "we must found values to test http://purl.org/dc/terms/created");
+ $this->assertCount(1, $outputValuesStr, "We should have one value");
+ $baseCreated = $providedCHO->get("<http://purl.org/dc/terms/created>");
+ $this->assertEquals($outputValuesStr[0], strval($baseCreated), "We must same value than in sound");
+
+ }
+
+
+ /**
+ * Test merge created merge SOUND with no created into TEXT with no created
+ * Should have no values
+ * @return void
+ */
+ public function testCreatedTextNocreatedSoundNoCreated() {
+
+ $resGraph = $this->resGraph["CREATED_TEXT_NO_CREATED_SOUND_NO_CREATED"];
+
+ $providedCHO = $resGraph->get('edm:ProvidedCHO', '^rdf:type');
+ $this->assertNotNull($providedCHO);
+
+ $outputValuesStr = [];
+ foreach($providedCHO->all($resGraph->resource("http://purl.org/dc/terms/created")) as $outputValue) {
+ array_push($outputValuesStr, strval($outputValue));
+ }
+ $this->assertEmpty($outputValuesStr, "we must found no values to test http://purl.org/dc/terms/created");
+ }
+
+ /**
+ * Test merge created merge SOUND with created into TEXT with no created
+ * Should have one value from sound
+ * @return void
+ */
+ public function testCreatedTextNoCreatedSoundCreated() {
+
+ $resGraph = $this->resGraph["CREATED_TEXT_NO_CREATED_SOUND"];
+
+ $providedCHO = $resGraph->get('edm:ProvidedCHO', '^rdf:type');
+ $soundNode = $this->inputGraphes['SOUND']->get('edm:ProvidedCHO', '^rdf:type');
+ $this->assertNotNull($providedCHO);
+ $this->assertNotNull($soundNode);
+
+ $outputValuesStr = [];
+ foreach($providedCHO->all($resGraph->resource("http://purl.org/dc/terms/created")) as $outputValue) {
+ array_push($outputValuesStr, strval($outputValue));
+ }
+ $this->assertNotEmpty($outputValuesStr, "we must foundvalues to test http://purl.org/dc/terms/created");
+ $this->assertCount(1, $outputValuesStr, "We should have one value");
+ $soundCreated = $soundNode->get("<http://purl.org/dc/terms/created>");
+ $this->assertEquals($outputValuesStr[0], strval($soundCreated), "We must same value than in sound");
+
+ }
+
+ /**
+ * Test merge created
+ * Merge SOUND with no created into TEXT with created
+ * Should have no values
+ * @return void
+ */
+ public function testCreatedTextCreatedSoundNoCreated() {
+
+ $resGraph = $this->resGraph["CREATED_TEXT_SOUND_NO_CREATED"];
+
+ $providedCHO = $resGraph->get('edm:ProvidedCHO', '^rdf:type');
+ $this->assertNotNull($providedCHO);
+
+ $outputValuesStr = [];
+ foreach($providedCHO->all($resGraph->resource("http://purl.org/dc/terms/created")) as $outputValue) {
+ array_push($outputValuesStr, strval($outputValue));
+ }
+ $this->assertEmpty($outputValuesStr, "we must found no values to test http://purl.org/dc/terms/created");
+
+ }
+
+ /**
+ * Test merge created
+ * Merge SOUND with created into TEXT with created
+ * Should have one value
+ * @return void
+ */
+ public function testCreatedTextCreatedSoundCreated() {
+
+ $resGraph = $this->resGraph["CREATED_TEXT_SOUND"];
+
+ $providedCHO = $resGraph->get('edm:ProvidedCHO', '^rdf:type');
+ $soundNode = $this->inputGraphes['SOUND']->get('edm:ProvidedCHO', '^rdf:type');
+ $this->assertNotNull($providedCHO);
+ $this->assertNotNull($soundNode);
+
+ $outputValuesStr = [];
+ foreach($providedCHO->all($resGraph->resource("http://purl.org/dc/terms/created")) as $outputValue) {
+ array_push($outputValuesStr, strval($outputValue));
+ }
+ $this->assertNotEmpty($outputValuesStr, "we must found values to test http://purl.org/dc/terms/created");
+ $this->assertCount(1, $outputValuesStr, "We should have one value");
+ $soundCreated = $soundNode->get("<http://purl.org/dc/terms/created>");
+ $this->assertEquals($outputValuesStr[0], strval($soundCreated), "We must same value than in sound");
+
+ }
}