diff -r 009efee954f7 -r 17f10b56c079 server/src/tests/Models/MediaResourceTest.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/tests/Models/MediaResourceTest.php Thu Jun 02 18:24:19 2016 +0200 @@ -0,0 +1,98 @@ + << . + @prefix rdfs: . + @prefix sesame: . + @prefix owl: . + @prefix xsd: . + @prefix fn: . + + a ; + "application/xml"^^ ; + "Freely available for non-commercial use" ; + "2010-11-17"^^ ; + "2013-11-04T22:20:07+01:00"^^ ; + ; + . + +EOT + ,'http://cocoon.huma-num.fr/data/archi/masters/372593.wav' => << . + @prefix rdfs: . + @prefix sesame: . + @prefix owl: . + @prefix xsd: . + @prefix fn: . + + a ; + "audio/x-wav"^^ ; + "Freely available for non-commercial use" ; + "2010-11-17"^^ ; + "PT48M26S" ; + "2013-10-12T14:35:57+02:00"^^ ; + . +EOT + ]; + + public function setUp() { + + parent::setup(); + $this->graphs = []; + foreach(self::TEST_DOCS as $uri => $ttl) { + $this->graphs[$uri] = new EasyRdf\Graph($uri, $ttl); + } + } + + public function testConstructor() { + + $this->assertNotNull($this->graphs, 'Graphs shoud not be null'); + + $mediaResource = new MediaResource('http://cocoon.huma-num.fr/data/archi/masters/372593.wav', $this->graphs['http://cocoon.huma-num.fr/data/archi/masters/372593.wav'], false); + + $this->assertNotNull($mediaResource); + } + + public function testExtent() { + $mediaResource = new MediaResource('http://cocoon.huma-num.fr/data/archi/masters/372593.wav', $this->graphs['http://cocoon.huma-num.fr/data/archi/masters/372593.wav'], false); + $this->assertEquals('PT48M26S', $mediaResource->getExtent()); + } + + public function testExtentMs() { + $mediaResource = new MediaResource('http://cocoon.huma-num.fr/data/archi/masters/372593.wav', $this->graphs['http://cocoon.huma-num.fr/data/archi/masters/372593.wav'], false); + $this->assertTrue(is_int($mediaResource->getExtentMs())); + $this->assertEquals(2906000, $mediaResource->getExtentMs()); + } + + public function testMaster() { + $mediaResource = new MediaResource('http://cocoon.huma-num.fr/data/archi/masters/372593.wav', $this->graphs['http://cocoon.huma-num.fr/data/archi/masters/372593.wav'], true); + $this->assertTrue($mediaResource->isMaster()); + } + + public function testJsonSerialize() { + $mediaResource = new MediaResource('http://cocoon.huma-num.fr/data/archi/masters/372593.wav', $this->graphs['http://cocoon.huma-num.fr/data/archi/masters/372593.wav'], true); + + $json = $mediaResource->jsonSerialize(); + $this->assertTrue(is_array($json), "must be an array"); + $this->assertEquals( + [ + 'url' => "http://cocoon.huma-num.fr/data/archi/masters/372593.wav", + "format" => "audio/x-wav", + "extent" => "PT48M26S", + "extent_ms" => 2906000, + "master" => true + ], + $json + ); + } + +}