9 use Mockery as m; |
9 use Mockery as m; |
10 |
10 |
11 class DocumentRepositoryTest extends TestCase { |
11 class DocumentRepositoryTest extends TestCase { |
12 |
12 |
13 const TEST_DOC = <<<EOT |
13 const TEST_DOC = <<<EOT |
14 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Resource> . |
|
15 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Document> . |
|
16 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/description> "Extrait des enqu\u00EAtes dialectologiques en vue de constituer un atlas linguistique de l'Alsace."@fr . |
|
17 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/format> "audio/x-wav"^^<http://purl.org/dc/terms/IMT> . |
|
18 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/type> <http://purl.org/dc/dcmitype/Sound> . |
|
19 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/type> "primary_text"^^<http://www.language-archives.org/OLAC/1.1/linguistic-type> . |
|
20 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/type> "dialogue"^^<http://www.language-archives.org/OLAC/1.1/discourse-type> . |
|
21 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/subject> <http://lexvo.org/id/iso639-3/gsw> . |
|
22 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/subject> "lexicography"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> . |
|
23 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/subject> "phonetics"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> . |
|
24 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/subject> "anthropological_linguistics"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> . |
|
25 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/language> <http://lexvo.org/id/iso639-3/gsw> . |
|
26 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/contributor> <http://viaf.org/viaf/9122216> . |
|
27 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/contributor> _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid1 . |
|
28 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/contributor> _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid2 . |
|
29 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/publisher> "Atlas linguistiques, cultures et parlers r\u00E9gionaux de France" . |
|
30 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/rights> "Copyright (c) D\u00E9partement de dialectologie alsacienne et mosellane de l'Universit\u00E9 de Strasbourg" . |
|
31 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/elements/1.1/title> "Atlas Linguistique et ethnographique de l'Alsace - Enquetes sur la conscience linguistique - ALA_608"@fr . |
|
32 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/accessRights> "Freely available for non-commercial use" . |
|
33 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/license> <http://creativecommons.org/licenses/by-nc-nd/2.5/> . |
|
34 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/isPartOf> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_ALA_CL> . |
|
35 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/isPartOf> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_LANGUESDEFRANCE> . |
|
36 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/extent> "PT02H04M16S" . |
|
37 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/created> "start=1980; end=1989; name=ann\u00E9es 80"^^<http://purl.org/dc/terms/Period> . |
|
38 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/spatial> "France, Alsace"@fr . |
|
39 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/spatial> "FR"^^<http://purl.org/dc/terms/ISO3166> . |
|
40 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/isFormatOf> <http://cocoon.huma-num.fr/data/ala/ALA_608.mp3> . |
|
41 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/isFormatOf> <http://cocoon.huma-num.fr/data/ala/masters/ALA_608.wav> . |
|
42 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/available> "2004-07-03"^^<http://purl.org/dc/terms/W3CDTF> . |
|
43 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://purl.org/dc/terms/issued> "2014-11-04T16:25:54+01:00"^^<http://purl.org/dc/terms/W3CDTF> . |
|
44 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> <http://www.openrdf.org/schema/sesame#directType> <http://xmlns.com/foaf/0.1/Document> . |
|
45 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Resource> . |
|
46 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Agent> . |
|
47 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid1 <http://xmlns.com/foaf/0.1/name> "Bothorel-Witz, Arlette" . |
|
48 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid1 <http://xmlns.com/foaf/0.1/status> "interviewer"^^<http://www.language-archives.org/OLAC/1.1/role> . |
|
49 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid1 <http://www.openrdf.org/schema/sesame#directType> <http://xmlns.com/foaf/0.1/Agent> . |
|
50 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Resource> . |
|
51 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Agent> . |
|
52 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid2 <http://xmlns.com/foaf/0.1/name> "Huck, Dominique" . |
|
53 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid2 <http://xmlns.com/foaf/0.1/status> "interviewer"^^<http://www.language-archives.org/OLAC/1.1/role> . |
|
54 _:genid2d6c3879d9d2484bd98bb0bcb9dd0364fc2dgenid2 <http://www.openrdf.org/schema/sesame#directType> <http://xmlns.com/foaf/0.1/Agent> . |
|
55 <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_608> <http://xmlns.com/foaf/0.1/primaryTopic> <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> . |
|
56 EOT; |
|
57 |
|
58 const RES_DOC = <<<EOT |
|
59 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . |
14 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . |
60 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . |
15 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . |
61 @prefix sesame: <http://www.openrdf.org/schema/sesame#> . |
16 @prefix sesame: <http://www.openrdf.org/schema/sesame#> . |
62 @prefix owl: <http://www.w3.org/2002/07/owl#> . |
17 @prefix owl: <http://www.w3.org/2002/07/owl#> . |
63 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . |
18 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . |
64 @prefix fn: <http://www.w3.org/2005/xpath-functions#> . |
19 @prefix fn: <http://www.w3.org/2005/xpath-functions#> . |
65 |
20 |
66 <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> a <http://xmlns.com/foaf/0.1/Document> ; |
21 _:genid-2267740936ad4d04a567e6787732f0dd-genid1 a <http://www.europeana.eu/schemas/edm/Place> ; |
|
22 owl:sameAs <http://sws.geonames.org/3038033/> ; |
|
23 <http://www.w3.org/2004/02/skos/core#note> "northlimit=47.431892250000033; southlimit=49.053971250000046;westlimit=6.846186050000028; eastlimit=8.232571550000074;"^^<http://purl.org/dc/terms/Box> , "FR"^^<http://purl.org/dc/terms/ISO3166> , "France, Alsace"@fr . |
|
24 |
|
25 <http://purl.org/poi/corpusdelaparole.huma-num.fr/crdo-ALA_738> a <http://www.openarchives.org/ore/terms/Aggregation> ; |
|
26 <http://www.europeana.eu/schemas/edm/aggregatedCHO> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_738> ; |
|
27 <http://www.europeana.eu/schemas/edm/dataProvider> "Atlas linguistiques, cultures et parlers régionaux de France" ; |
|
28 <http://www.europeana.eu/schemas/edm/hasView> <http://cocoon.huma-num.fr/data/ala/ALA_738.mp3> , <http://cocoon.huma-num.fr/data/ala/ALA_738_22km.wav> ; |
|
29 <http://www.europeana.eu/schemas/edm/isShownAt> <http://cocoon.huma-num.fr/exist/crdo/meta/crdo-ALA_738> ; |
|
30 <http://www.europeana.eu/schemas/edm/isShownBy> <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> ; |
|
31 <http://www.europeana.eu/schemas/edm/provider> "Corpus de la Parole"@fr ; |
|
32 <http://www.europeana.eu/schemas/edm/rights> <http://creativecommons.org/licenses/by-nc-nd/4.0/> . |
|
33 |
|
34 <http://cocoon.huma-num.fr/data/ala/ALA_738.mp3> a <http://www.europeana.eu/schemas/edm/WebResources> ; |
|
35 <http://purl.org/dc/elements/1.1/format> "audio/mpeg"^^<http://purl.org/dc/terms/IMT> ; |
|
36 <http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ; |
|
37 <http://purl.org/dc/terms/extent> "PT01H11M29S" ; |
|
38 <http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> ; |
|
39 <http://www.europeana.eu/schemas/edm/isDerivativeOf> <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> . |
|
40 |
|
41 <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> a <http://www.europeana.eu/schemas/edm/WebResources> ; |
|
42 <http://purl.org/dc/elements/1.1/format> "audio/x-wav"^^<http://purl.org/dc/terms/IMT> ; |
|
43 <http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ; |
|
44 <http://purl.org/dc/terms/extent> "PT01H11M29S" ; |
|
45 <http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> . |
|
46 |
|
47 <http://cocoon.huma-num.fr/data/ala/ALA_738_22km.wav> a <http://www.europeana.eu/schemas/edm/WebResources> ; |
|
48 <http://purl.org/dc/elements/1.1/format> "audio/x-wav"^^<http://purl.org/dc/terms/IMT> ; |
|
49 <http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ; |
|
50 <http://purl.org/dc/terms/extent> "PT01H11M29S" ; |
|
51 <http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> ; |
|
52 <http://www.europeana.eu/schemas/edm/isDerivativeOf> <http://cocoon.huma-num.fr/data/ala/masters/ALA_738.wav> . |
|
53 |
|
54 <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_738> a <http://www.europeana.eu/schemas/edm/ProvidedCHO> ; |
|
55 <http://purl.org/dc/terms/created> "1996"^^<http://purl.org/dc/terms/Period> ; |
|
56 <http://purl.org/dc/terms/extent> "PT01H11M29S" ; |
|
57 <http://purl.org/dc/terms/issued> "2014-11-10T14:27:08+01:00"^^<http://purl.org/dc/terms/W3CDTF> ; |
|
58 <http://purl.org/dc/elements/1.1/contributor> <http://viaf.org/viaf/61542329> , <http://viaf.org/viaf/9122216> ; |
67 <http://purl.org/dc/elements/1.1/description> "Extrait des enquêtes dialectologiques en vue de constituer un atlas linguistique de l'Alsace."@fr ; |
59 <http://purl.org/dc/elements/1.1/description> "Extrait des enquêtes dialectologiques en vue de constituer un atlas linguistique de l'Alsace."@fr ; |
68 <http://purl.org/dc/elements/1.1/format> "audio/x-wav"^^<http://purl.org/dc/terms/IMT> ; |
|
69 <http://purl.org/dc/elements/1.1/type> <http://purl.org/dc/dcmitype/Sound> , "primary_text"^^<http://www.language-archives.org/OLAC/1.1/linguistic-type> , "dialogue"^^<http://www.language-archives.org/OLAC/1.1/discourse-type> ; |
|
70 <http://purl.org/dc/elements/1.1/subject> <http://lexvo.org/id/iso639-3/gsw> , "lexicography"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> , "phonetics"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> , "anthropological_linguistics"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> ; |
|
71 <http://purl.org/dc/elements/1.1/language> <http://lexvo.org/id/iso639-3/gsw> ; |
60 <http://purl.org/dc/elements/1.1/language> <http://lexvo.org/id/iso639-3/gsw> ; |
72 <http://purl.org/dc/elements/1.1/contributor> <http://viaf.org/viaf/9122216> , _:genid-39d722daa01242edb2da8d2d1e71eae7-ED8A67E3CE4C51EA8EDC4ED1190E161A , _:genid-39d722daa01242edb2da8d2d1e71eae7-FD40C63A1295F7BE6765BB87A70CE839 ; |
|
73 <http://purl.org/dc/elements/1.1/publisher> "Atlas linguistiques, cultures et parlers régionaux de France" ; |
61 <http://purl.org/dc/elements/1.1/publisher> "Atlas linguistiques, cultures et parlers régionaux de France" ; |
74 <http://purl.org/dc/elements/1.1/rights> "Copyright (c) Département de dialectologie alsacienne et mosellane de l'Université de Strasbourg" ; |
62 <http://purl.org/dc/elements/1.1/rights> "Copyright (c) Département de dialectologie alsacienne et mosellane de l'Université de Strasbourg" ; |
75 <http://purl.org/dc/elements/1.1/title> "Atlas Linguistique et ethnographique de l'Alsace - Enquetes sur la conscience linguistique - ALA_608"@fr ; |
63 <http://purl.org/dc/elements/1.1/subject> <http://lexvo.org/id/iso639-3/gsw> , <http://ark.bnf.fr/ark:/12148/cb11931472p> , <http://ark.bnf.fr/ark:/12148/cb11931564b> , <http://ark.bnf.fr/ark:/12148/cb11932194d> , <http://ark.bnf.fr/ark:/12148/cb11933029x> , <http://ark.bnf.fr/ark:/12148/cb11933281k> , <http://ark.bnf.fr/ark:/12148/cb11934740m> , <http://ark.bnf.fr/ark:/12148/cb11935375d> , <http://ark.bnf.fr/ark:/12148/cb11935986q> , <http://ark.bnf.fr/ark:/12148/cb11936549n> , <http://ark.bnf.fr/ark:/12148/cb11937931x> , <http://ark.bnf.fr/ark:/12148/cb119392962> , <http://ark.bnf.fr/ark:/12148/cb119458243> , <http://ark.bnf.fr/ark:/12148/cb11946662b> , <http://ark.bnf.fr/ark:/12148/cb11947332t> , <http://ark.bnf.fr/ark:/12148/cb119481497> , <http://ark.bnf.fr/ark:/12148/cb119591726> , <http://ark.bnf.fr/ark:/12148/cb119756721> , <http://ark.bnf.fr/ark:/12148/cb119757609> , <http://ark.bnf.fr/ark:/12148/cb11975806s> , <http://ark.bnf.fr/ark:/12148/cb119759527> , <http://ark.bnf.fr/ark:/12148/cb12032030g> , <http://ark.bnf.fr/ark:/12148/cb12042429k> , <http://ark.bnf.fr/ark:/12148/cb12099148r> , <http://ark.bnf.fr/ark:/12148/cb12148936v> , <http://ark.bnf.fr/ark:/12148/cb12289036m> , <http://ark.bnf.fr/ark:/12148/cb13318335q> , <http://ark.bnf.fr/ark:/12148/cb133183540> , <http://ark.bnf.fr/ark:/12148/cb13318415c> , <http://ark.bnf.fr/ark:/12148/cb13318491g> , "anthropological_linguistics"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> , "lexicography"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> , "phonetics"^^<http://www.language-archives.org/OLAC/1.1/linguistic-field> ; |
|
64 <http://purl.org/dc/elements/1.1/title> "Atlas Linguistique et ethnographique de l'Alsace - Enquetes sur la conscience linguistique - ALA_738"@fr ; |
|
65 <http://purl.org/dc/elements/1.1/type> <http://ark.bnf.fr/ark:/12148/cb11932135w> , <http://ark.bnf.fr/ark:/12148/cb12481481z> , <http://purl.org/dc/dcmitype/Sound> , "dialogue"^^<http://www.language-archives.org/OLAC/1.1/discourse-type> , "primary_text"^^<http://www.language-archives.org/OLAC/1.1/linguistic-type> ; |
76 <http://purl.org/dc/terms/accessRights> "Freely available for non-commercial use" ; |
66 <http://purl.org/dc/terms/accessRights> "Freely available for non-commercial use" ; |
|
67 <http://purl.org/dc/terms/available> "2004-07-03"^^<http://purl.org/dc/terms/W3CDTF> ; |
|
68 <http://purl.org/dc/terms/isPartOf> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_ALA_CL> , <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_LANGUESDEFRANCE> ; |
77 <http://purl.org/dc/terms/license> <http://creativecommons.org/licenses/by-nc-nd/2.5/> ; |
69 <http://purl.org/dc/terms/license> <http://creativecommons.org/licenses/by-nc-nd/2.5/> ; |
78 <http://purl.org/dc/terms/isPartOf> <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_ALA_CL> , <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-COLLECTION_LANGUESDEFRANCE> ; |
70 <http://purl.org/dc/terms/spatial> _:genid-2267740936ad4d04a567e6787732f0dd-genid1 ; |
79 <http://purl.org/dc/terms/extent> "PT02H04M16S" ; |
71 <http://www.language-archives.org/OLAC/1.1/depositor> <http://viaf.org/viaf/9122216> ; |
80 <http://purl.org/dc/terms/created> "start=1980; end=1989; name=années 80"^^<http://purl.org/dc/terms/Period> ; |
72 <http://www.language-archives.org/OLAC/1.1/interviewer> <http://viaf.org/viaf/61542329> , <http://viaf.org/viaf/9122216> . |
81 <http://purl.org/dc/terms/spatial> "France, Alsace"@fr , "FR"^^<http://purl.org/dc/terms/ISO3166> ; |
|
82 <http://purl.org/dc/terms/isFormatOf> <http://cocoon.huma-num.fr/data/ala/ALA_608.mp3> , <http://cocoon.huma-num.fr/data/ala/masters/ALA_608.wav> ; |
|
83 <http://purl.org/dc/terms/available> "2004-07-03"^^<http://purl.org/dc/terms/W3CDTF> ; |
|
84 <http://purl.org/dc/terms/issued> "2014-11-04T16:25:54+01:00"^^<http://purl.org/dc/terms/W3CDTF> . |
|
85 |
|
86 _:genid-39d722daa01242edb2da8d2d1e71eae7-ED8A67E3CE4C51EA8EDC4ED1190E161A a <http://xmlns.com/foaf/0.1/Agent> ; |
|
87 <http://xmlns.com/foaf/0.1/name> "Bothorel-Witz, Arlette" ; |
|
88 <http://xmlns.com/foaf/0.1/status> "interviewer"^^<http://www.language-archives.org/OLAC/1.1/role> . |
|
89 |
|
90 _:genid-39d722daa01242edb2da8d2d1e71eae7-FD40C63A1295F7BE6765BB87A70CE839 a <http://xmlns.com/foaf/0.1/Agent> ; |
|
91 <http://xmlns.com/foaf/0.1/name> "Huck, Dominique" ; |
|
92 <http://xmlns.com/foaf/0.1/status> "interviewer"^^<http://www.language-archives.org/OLAC/1.1/role> . |
|
93 |
|
94 <http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_608> <http://xmlns.com/foaf/0.1/primaryTopic> <http://cocoon.huma-num.fr/data/ala/ALA_608_22km.wav> . |
|
95 EOT; |
73 EOT; |
96 |
|
97 |
74 |
98 function __construct(string $name = null) { |
75 function __construct(string $name = null) { |
99 parent::__construct($name); |
76 parent::__construct($name); |
100 } |
77 } |
101 |
78 |
102 public function setUp() { |
79 public function setUp() { |
103 parent::setUp(); |
80 parent::setUp(); |
104 $this->graph = new EasyRdf\Graph("http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_608", DocumentRepositoryTest::TEST_DOC); |
81 $this->graph = new EasyRdf\Graph("http://purl.org/poi/corpusdelaparole.huma-num.fr/crdo-ALA_738", DocumentRepositoryTest::TEST_DOC); |
105 $this->cocoonDocIdBaseUri = config('corpusparole.cocoon_doc_id_base_uri'); |
82 $this->corpusDocIdBaseUri = config('corpusparole.corpus_doc_id_base_uri'); |
106 } |
83 } |
107 |
84 |
108 public function tearDown() { |
85 public function tearDown() { |
109 parent::tearDown(); |
86 parent::tearDown(); |
110 } |
87 } |
111 |
88 |
112 |
89 |
113 public function testAll() { |
90 public function testAll() { |
114 $expectedId = $this->cocoonDocIdBaseUri.'crdo-ALA_608'; |
91 $expectedId = $this->corpusDocIdBaseUri.'crdo-ALA_738'; |
115 $returnedArray = [ |
92 $returnedArray = [ |
116 m::mock('resObj', function($mock) use (&$expectedId) { |
93 m::mock('resObj', function($mock) use (&$expectedId) { |
117 $mock->uri = new EasyRdf\Resource($expectedId); |
94 $mock->uri = new EasyRdf\Resource($expectedId); |
118 }), |
95 }), |
119 ]; |
96 ]; |
127 |
104 |
128 $this->assertCount(1, $res, "Should have 1 doc in res"); |
105 $this->assertCount(1, $res, "Should have 1 doc in res"); |
129 $resDoc = $res[0]; |
106 $resDoc = $res[0]; |
130 |
107 |
131 $this->assertInstanceOf(Document::class, $resDoc, "Res doc must be a Document"); |
108 $this->assertInstanceOf(Document::class, $resDoc, "Res doc must be a Document"); |
132 $this->assertEquals('crdo-ALA_608', $resDoc->getId(), "id must be crdo..."); |
109 $this->assertEquals('crdo-ALA_738', $resDoc->getId(), "id must be crdo..."); |
133 $this->assertEquals($expectedId, $resDoc->getUri(), 'url must be ...'); |
110 $this->assertEquals($expectedId, $resDoc->getUri(), 'url must be ...'); |
134 $this->assertNull($resDoc->getGraph(), 'Graph must be null'); |
111 $this->assertNull($resDoc->getGraph(), 'Graph must be null'); |
135 } |
112 } |
136 |
113 |
137 public function testGet() { |
114 public function testGet() { |
138 |
115 |
139 $expectedId = $this->cocoonDocIdBaseUri.'crdo-ALA_608'; |
116 $expectedId = $this->corpusDocIdBaseUri.'crdo-ALA_738'; |
140 $returnedGraph = new EasyRdf\Graph($expectedId, DocumentRepositoryTest::RES_DOC); |
117 $returnedGraph = new EasyRdf\Graph($expectedId, DocumentRepositoryTest::TEST_DOC); |
141 |
118 |
142 $sparqlClientMock = m::mock('CorpusParole\Libraries\Sparql\SparqlClient'); |
119 $sparqlClientMock = m::mock('CorpusParole\Libraries\Sparql\SparqlClient'); |
143 $sparqlClientMock->shouldReceive('query')->with(containsString($expectedId)) |
120 $sparqlClientMock->shouldReceive('query')->with(containsString($expectedId)) |
144 ->andReturn($returnedGraph); |
121 ->andReturn($returnedGraph); |
145 $documentRepository = $this->app->make('CorpusParole\Repositories\RdfDocumentRepository', [$sparqlClientMock]); |
122 $documentRepository = $this->app->make('CorpusParole\Repositories\RdfDocumentRepository', [$sparqlClientMock]); |
146 |
123 |
147 $res = $documentRepository->get('crdo-ALA_608'); |
124 $res = $documentRepository->get('crdo-ALA_738'); |
148 |
125 |
149 $this->assertInstanceOf(Document::class, $res, "Result must be of type Document"); |
126 $this->assertInstanceOf(Document::class, $res, "Result must be of type Document"); |
150 $this->assertEquals('crdo-ALA_608', $res->getId(), 'id should be crdo-ALA_608' ); |
127 $this->assertEquals('crdo-ALA_738', $res->getId(), 'id should be crdo-ALA_738' ); |
151 $this->assertNotNull($res->getGraph(), "Graph shoul not be null"); |
128 $this->assertNotNull($res->getGraph(), "Graph shoul not be null"); |
152 $this->assertTrue(EasyRdf\Isomorphic::isomorphic($res->getGraph(), new EasyRdf\Graph($expectedId, DocumentRepositoryTest::RES_DOC))); |
129 $this->assertTrue(EasyRdf\Isomorphic::isomorphic($res->getGraph(), new EasyRdf\Graph($expectedId, DocumentRepositoryTest::TEST_DOC))); |
153 } |
130 } |
154 |
131 |
155 public function testSave() { |
132 public function testSave() { |
156 |
133 |
157 $sparqlClientMock = m::mock('CorpusParole\Libraries\Sparql\SparqlClient', function($mock) { |
134 $sparqlClientMock = m::mock('CorpusParole\Libraries\Sparql\SparqlClient', function($mock) { |