diff -r 17f10b56c079 -r 8fddc113095e server/src/tests/Models/GeoResourceTest.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/tests/Models/GeoResourceTest.php Sun Jun 05 00:28:45 2016 +0200 @@ -0,0 +1,207 @@ + << . + @prefix rdfs: . + @prefix sesame: . + @prefix owl: . + @prefix xsd: . + @prefix fn: . + + <%1\$scrdo-CFPP2000_35_SOUND> a ; + ; + "Langage et langues : description, théorisation, transmission" ; + , , ; + ; + ; + "Corpus de la Parole"@fr ; + . + + a ; + "Freely available for non-commercial use" ; + "2010-11-17"^^ ; + "PT48M26S" ; + "2013-10-12T14:35:57+02:00"^^ ; + ; + , "Tanguy, Noalig" , "Chevrier, Michel" , "Kiliç, Ozgur" , "Salvegas, Etienne" , "du-Breuil-de-Pont-en-Auge, Augustin" , "du-Breuil-de-Pont-en-Auge, Benoît" ; + "Enregistrement issu du Corpus de Français Parlé Parisien des années 2000 (CFPP2000)"@fr , "Quartier(s) concerné(s) : Paris 3e, et 20e (pour l'âge adulte); Anonymisation : Noalig TANGUY;"@fr ; + "ark:/87895/1.17-375004" , "%2\$scrdo-CFPP2000_35_SOUNDid" , "oai:crdo.vjf.cnrs.fr:crdo-CFPP2000_35" , "Cote producteur: [03-01] Ozgur_Kilic_H_32_alii_3e"@fr , "ark:/87895/1.17-372593" , "oai:crdo.vjf.cnrs.fr:crdo-CFPP2000_35_SOUND" ; + ; + ; + , "anthropological_linguistics"^^ , "lexicography"^^ , "phonetics"^^ , , , , "general_linguistics"^^ , , "text_and_corpus_linguistics"^^ , "Français"@fr , , "phonology"^^ , "semantics"^^ , "sociolinguistics"^^ , "syntax"^^ , "typology"^^ , , , "discourse_analysis"^^ , "historical_linguistics"^^ , "language_documentation"^^ , , , , , , "mathematical_linguistics"^^ ; + "Entretien de Ozgur Kiliç 2"@fr ; + , , , "primary_text"^^ , , "narrative"^^ , "report"^^ , "unintelligible_speech"^^ ; + "2013-10-12"^^ ; + [ + a ; + owl:sameAs ; + "FR"^^ , "France, Île-de-France, Paris, Université Sorbonne Nouvelle Paris 3, site Censier"@fr , "Domicile de Ozgur Kiliç"@fr , "France, Île-de-France, Paris 20"@fr + ]; + , ; + ; + ; + "Tanguy, Noalig" ; + "Quartier concerné : 3e"@fr ; + "Chevrier, Michel" , "Kiliç, Ozgur" , "Salvegas, Etienne" , "du-Breuil-de-Pont-en-Auge, Augustin" , "du-Breuil-de-Pont-en-Auge, Benoît" ; + . + + + a ; + "application/xml"^^ ; + "Freely available for non-commercial use" ; + "2010-11-17"^^ ; + "2013-11-04T22:20:07+01:00"^^ ; + ; + . + + a ; + "audio/x-wav"^^ ; + "Freely available for non-commercial use" ; + "2010-11-17"^^ ; + "PT48M26S" ; + "2013-10-12T14:35:57+02:00"^^ ; + . + + a ; + "audio/mpeg"^^ ; + "Freely available for non-commercial use" ; + "2010-11-17"^^ ; + "PT48M26S" ; + "2013-10-12T14:35:57+02:00"^^ ; + ; + . + + a ; + "audio/x-wav"^^ ; + "Freely available for non-commercial use" ; + "2010-11-17"^^ ; + "PT48M26S" ; + "2013-10-12T14:35:57+02:00"^^ ; + ; + . +EOT + , + "LOC2" => << . + @prefix rdfs: . + @prefix sesame: . + @prefix owl: . + @prefix xsd: . + @prefix fn: . + + a ; + "Freely available for non-commercial use" ; + "2010-11-17"^^ ; + "PT48M26S" ; + "2013-10-12T14:35:57+02:00"^^ ; + ; + "Enregistrement issu du Corpus de Français Parlé Parisien des années 2000 (CFPP2000)"@fr , "Quartier(s) concerné(s) : Paris 3e, et 20e (pour l'âge adulte); Anonymisation : Noalig TANGUY;"@fr ; + "ark:/87895/1.17-375004" , "%2\$scrdo-CFPP2000_35_SOUNDid" , "oai:crdo.vjf.cnrs.fr:crdo-CFPP2000_35" , "Cote producteur: [03-01] Ozgur_Kilic_H_32_alii_3e"@fr , "ark:/87895/1.17-372593" , "oai:crdo.vjf.cnrs.fr:crdo-CFPP2000_35_SOUND" ; + ; + ; + "Entretien de Ozgur Kiliç 2"@fr ; + "2013-10-12"^^ ; + [ + a ; + "FR"^^ , "France, Île-de-France, Paris, Université Sorbonne Nouvelle Paris 3, site Censier"@fr , "Domicile de Ozgur Kiliç"@fr , "France, Île-de-France, Paris 20"@fr + ] . +EOT + ]; + + public function setUp() { + + parent::setup(); + $this->graphs = []; + $this->graphUrl = sprintf("%1\$scrdo-CFPP2000_35_SOUND", config('corpusparole.corpus_doc_id_base_uri')); + foreach(self::TEST_DOCS as $k => $ttl) { + + $this->graphs[$k] = new EasyRdf\Graph($this->graphUrl, sprintf($ttl, config('corpusparole.corpus_doc_id_base_uri'), config('corpusparole.corpus_id_scheme'))); + } + } + + public function getGeoResource($key) { + + $graph = $this->graphs[$key]; + $places = $graph->allOfType(""); + assert(count($places)>0); + $place = $places[0]; + + return new GeoResource($place->getUri(), $graph); + + } + + public function testConstructor() { + + $this->assertNotNull($this->graphs, 'Graphs shoud not be null'); + + $geoResource = $this->getGeoResource("LOC1"); + + $this->assertNotNull($geoResource); + } + + public function testGetRefLoc() { + $geoResource = $this->getGeoResource("LOC1"); + + $refLoc = $geoResource->getRefLoc(); + + $this->assertEquals('http://sws.geonames.org/6618626/', $refLoc); + + } + + public function testGetRefLocNull() { + $geoResource = $this->getGeoResource("LOC2"); + + $refLoc = $geoResource->getRefLoc(); + + $this->assertNull($refLoc); + + } + + public function testNotes() { + $geoResource = $this->getGeoResource("LOC1"); + + $notes = $geoResource->getNotes(); + + $this->assertTrue(is_array($notes)); + $this->assertCount(4, $notes); + + $this->assertContainsOnlyInstancesOf("EasyRdf\Literal", $notes); + + } + + + public function testJsonSerialize() { + $geoResource = $this->getGeoResource("LOC1"); + + $json = $geoResource->jsonSerialize(); + + $this->assertEquals(["ref-loc", "notes"], array_keys($json)); + $this->assertEquals("http://sws.geonames.org/6618626/", $json['ref-loc']); + + $notes = $json['notes']; + $this->assertTrue(is_array($notes)); + $this->assertCount(4, $notes); + + } + + + public function testJsonSerializeNull() { + $geoResource = $this->getGeoResource("LOC2"); + + $json = $geoResource->jsonSerialize(); + + $this->assertNull($json['ref-loc']); + + } + + +}