server/src/tests/Models/GeoResourceTest.php
author ymh <ymh.work@gmail.com>
Thu, 22 Sep 2016 12:38:24 +0200
changeset 277 bd4bc1db4f40
parent 171 f4f558f04f37
permissions -rw-r--r--
add blank node save and geoinfo to back model
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
use CorpusParole\Models\GeoResource;
277
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
     4
use CorpusParole\Models\Document;
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
use CorpusParole\Libraries\CocoonUtils;
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
/**
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 *
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 */
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
class GeoResourceTest extends TestCase {
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    const TEST_DOCS = [
277
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    13
        "LOC1" =>  __DIR__.'/files/GeoResourceTest/loc1.ttl',
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    14
        "LOC2" =>  __DIR__.'/files/GeoResourceTest/loc2.ttl',
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    15
        "LOC3" =>  __DIR__.'/files/GeoResourceTest/loc3.ttl',
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    ];
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    public function setUp() {
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
        parent::setup();
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
        $this->graphs = [];
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
        $this->graphUrl = sprintf("%1\$scrdo-CFPP2000_35_SOUND", config('corpusparole.corpus_doc_id_base_uri'));
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
        foreach(self::TEST_DOCS as $k => $ttl) {
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
277
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    25
            $this->graphs[$k] = new EasyRdf\Graph($this->graphUrl, sprintf(file_get_contents($ttl), config('corpusparole.corpus_doc_id_base_uri'), config('corpusparole.corpus_id_scheme')));
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
        }
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    }
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    public function getGeoResource($key) {
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
        $graph = $this->graphs[$key];
277
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    32
        $providedCHO = $graph->get("<".config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND>", "<http://www.europeana.eu/schemas/edm/aggregatedCHO>");
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
        $places = $graph->allOfType("<http://www.europeana.eu/schemas/edm/Place>");
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
        assert(count($places)>0);
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
        $place = $places[0];
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
277
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    37
        return new GeoResource($place->getUri(), $graph, $providedCHO);
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    38
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    39
    }
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    40
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    41
    public function getGeoResourceEdit($key) {
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    42
        $graph = $this->graphs[$key];
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    43
        $doc = new Document($this->graphUrl, $graph);
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    44
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
    45
        return $doc->addGeoInfo();
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
    }
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
    public function testConstructor() {
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
        $this->assertNotNull($this->graphs, 'Graphs shoud not be null');
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
        $geoResource = $this->getGeoResource("LOC1");
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
        $this->assertNotNull($geoResource);
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
    }
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
    public function testGetRefLoc() {
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
        $geoResource = $this->getGeoResource("LOC1");
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
171
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    61
        $refLoc = $geoResource->getRefLocs();
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
171
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    63
        $this->assertEquals(['http://sws.geonames.org/6618626/'], $refLoc);
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
    }
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
    public function testGetRefLocNull() {
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
        $geoResource = $this->getGeoResource("LOC2");
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
171
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    70
        $refLoc = $geoResource->getRefLocs();
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    71
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    72
        $this->assertEmpty($refLoc);
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    73
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    74
    }
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
171
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    76
    public function testGetRefLocMultiple() {
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    77
        $geoResource = $this->getGeoResource("LOC3");
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    78
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    79
        $refLocs = $geoResource->getRefLocs();
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    80
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    81
        $this->assertTrue(is_array($refLocs));
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    82
        $this->assertCount(2,$refLocs);
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    83
        $this->assertEquals(['http://sws.geonames.org/6618626/', 'http://fr.dbpedia.org/resource/Gramazie'], $refLocs);
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
    84
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
    }
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
    public function testNotes() {
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
        $geoResource = $this->getGeoResource("LOC1");
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
        $notes = $geoResource->getNotes();
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
        $this->assertTrue(is_array($notes));
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
        $this->assertCount(4, $notes);
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
        $this->assertContainsOnlyInstancesOf("EasyRdf\Literal", $notes);
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
    }
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
277
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   100
    public function testLatitude() {
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   101
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   102
        $geoInfo = $this->getGeoResource("LOC1");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   103
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   104
        $this->assertEquals(48.73194, $geoInfo->getLatitude()->getValue(),'Must have correct latitude');
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   105
        $this->assertInstanceOf(EasyRdf\Literal::class, $geoInfo->getLatitude(), "Latitude must be a literal");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   106
        $this->assertEquals('http://www.w3.org/2001/XMLSchema#float', $geoInfo->getLatitude()->getDatatypeUri(), "Datatype title must be 'http://www.w3.org/2001/XMLSchema#float'");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   107
    }
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   108
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   109
    public function testLongitude() {
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   110
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   111
        $geoInfo = $this->getGeoResource("LOC1");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   112
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   113
        $this->assertEquals(7.70833, $geoInfo->getLongitude()->getValue(),'Must have correct longitude');
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   114
        $this->assertInstanceOf(EasyRdf\Literal::class, $geoInfo->getLongitude(), "Longitude must be a literal");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   115
        $this->assertEquals('http://www.w3.org/2001/XMLSchema#float', $geoInfo->getLongitude()->getDatatypeUri(), "Datatype title must be 'http://www.w3.org/2001/XMLSchema#float'");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   116
    }
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   117
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   118
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
    public function testJsonSerialize() {
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
        $geoResource = $this->getGeoResource("LOC1");
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
        $json = $geoResource->jsonSerialize();
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
277
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   125
        $this->assertEquals(["ref-locs", "notes", "latitude", "longitude"], array_keys($json));
171
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
   126
        $this->assertEquals(["http://sws.geonames.org/6618626/"], $json['ref-locs']);
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
        $notes = $json['notes'];
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
        $this->assertTrue(is_array($notes));
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
        $this->assertCount(4, $notes);
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
    }
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
    public function testJsonSerializeNull() {
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
        $geoResource = $this->getGeoResource("LOC2");
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
        $json = $geoResource->jsonSerialize();
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
171
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
   140
        $this->assertEmpty($json['ref-locs']);
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
   141
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
   142
    }
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
   143
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
   144
    public function testJsonSerializeMultipleRefLocs() {
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
   145
        $geoResource = $this->getGeoResource("LOC3");
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
   146
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
   147
        $json = $geoResource->jsonSerialize();
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
   148
277
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   149
        $this->assertEquals(["ref-locs", "notes", "latitude", "longitude"], array_keys($json));
171
f4f558f04f37 georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents: 169
diff changeset
   150
        $this->assertEquals(["http://sws.geonames.org/6618626/", "http://fr.dbpedia.org/resource/Gramazie"], $json['ref-locs']);
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
    }
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
277
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   154
    public function testSetRefLocs() {
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   155
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   156
        $geoResource = $this->getGeoResourceEdit("LOC1");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   157
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   158
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   159
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   160
        $oldRefLocs = $geoResource->getRefLocs();
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   161
        sort($oldRefLocs);
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   162
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   163
        $newRefLocs = [ 'http://sws.geonames.org/2643743/' ];
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   164
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   165
        $geoResource->setRefLocs($newRefLocs);
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   166
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   167
        $refLoc = $geoResource->getRefLocs();
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   168
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   169
        $this->assertEquals(['http://sws.geonames.org/2643743/'], $refLoc);
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   170
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   171
        $geoResource->commit();
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   172
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   173
        $deltaList = $geoResource->getDeltaList();
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   174
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   175
        $this->assertNotNull($deltaList);
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   176
        $this->assertCount(1, $deltaList, "Must have one delta");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   177
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   178
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   179
        $delta = $deltaList[0];
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   180
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   181
        $this->assertTrue($delta->getDeletedGraph()->isEmpty(), "deleted graph must be empty");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   182
        $this->assertCount(1, $delta->getDeleteWhere(), "Delete where must have one element");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   183
        $this->assertNotNull($delta->getAddedGraph(), "Added graph is not null");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   184
        $this->assertEquals(9, $delta->getAddedGraph()->countTriples(), "Added graph must have 7 triples");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   185
        $places = $delta->getAddedGraph()->allOfType("http://www.europeana.eu/schemas/edm/Place");
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   186
        $this->assertCount(1, $places);
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   187
        $place = $places[0];
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   188
        $sames = $places[0]->all('<http://www.w3.org/2002/07/owl#sameAs>');
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   189
        $this->assertCount(1, $sames);
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   190
        $this->assertEquals('http://sws.geonames.org/2643743/', $sames[0]->getUri());
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   191
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   192
    }
bd4bc1db4f40 add blank node save and geoinfo to back model
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   193
169
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
8fddc113095e Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
}