server/src/tests/Libraries/Transcript/TranscriberTranscriptConverterTest.php
author ymh <ymh.work@gmail.com>
Thu, 20 Oct 2016 11:24:45 +0200
changeset 375 145561ff51ff
parent 163 59c68fc4848e
permissions -rw-r--r--
change datestats to use elasticsearch
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
162
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
use Mockery as m;
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
use CorpusParole\Models\Document;
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
use CorpusParole\Libraries\Transcript\TranscriberTranscriptConverter;
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
/**
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
 *
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
 */
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
class TranscriberTranscriptConverterTest extends TestCase {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    const TEST_DOC_BASE = "crdo-CFPP2000_11_SOUND";
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    public function setUp() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
        parent::setup();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        $graphContent = sprintf(file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . self::TEST_DOC_BASE.".ttl"), config('corpusparole.corpus_doc_id_base_uri'), config('corpusparole.corpus_id_scheme'));
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
        $this->graph = new EasyRdf\Graph(config('corpusparole.corpus_doc_id_base_uri').self::TEST_DOC_BASE, $graphContent);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
        $this->doc = new Document(config('corpusparole.corpus_doc_id_base_uri').self::TEST_DOC_BASE, $this->graph);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
163
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents: 162
diff changeset
    21
        $this->transcriptSource = file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . self::TEST_DOC_BASE.".xml");
162
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    public function getMockConverter(...$contructorArgs) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
        return new TranscriberTranscriptConverter(...$contructorArgs);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    public function testConstructor() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
        $converter = $this->getMockConverter($this->doc, $this->transcriptSource);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
        $json = $converter->convertToJson();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
        $this->assertNotnull($json);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    public function testBuildResources() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
        $converter = $this->getMockConverter($this->doc, $this->transcriptSource);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
        $json = $converter->convertToJson();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
        $this->assertArrayHasKey('resources', $json, 'res must have resources');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
        $resources = $json['resources'];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
        $this->assertTrue(is_array($resources), "resources must be an array");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
        $this->assertCount(2, $resources,"Must have 2 resources");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
        $this->assertEquals(
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
            ['topics', 'speakers'],
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
            array_reduce(
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
                $resources,
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
                function($res, $r) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
                    array_push($res,$r['id']);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
                    return $res;
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
                },
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
                []
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
            )
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
        );
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
    function testBuildResourcesTopics() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
        $converter = $this->getMockConverter($this->doc, $this->transcriptSource);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
        $json = $converter->convertToJson();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
        $resources = $json['resources'];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
        $topicsDef = null;
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
        foreach($resources as $resdef) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
            if($resdef['id'] === 'topics') {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
                $topicsDef = $resdef;
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
            }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
        }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
        $this->assertNotNull($topicsDef, "One of the resources ids must be topics");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
        $this->assertTrue(is_array($topicsDef), "must be an array");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
        $this->assertArrayHasKey('id', $topicsDef, 'Topicsdef must ha an id');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
        $this->assertEquals('topics', $topicsDef['id'], 'id must be topics');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
        $this->assertArrayHasKey('content', $topicsDef, 'Topicsdef must ha a content');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
        $content = $topicsDef['content'];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
        $this->assertTrue(is_array($content), "content must be an array");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
        $this->assertArrayHasKey('mimetype', $content, 'content must have a mimetype');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
        $this->assertEquals('application/json', $content['mimetype'], 'mimetype is json');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
        $this->assertArrayHasKey('data', $content, "contant has data");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
        $data = $content['data'];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
        $this->assertNotNull($data, "data is not null");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
        $this->assertTrue(is_array($data), "data is an array");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
        $this->assertCount(23, $data, "Must have 23 topics");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
        foreach($data as $topic) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
            $this->assertTrue(is_array($topic), "topic is an array");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
            $this->assertArrayHasKey('id', $topic, "topic has an id");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
            $this->assertRegExp("/^11280\.100\/crdo-CFPP2000_11_SOUND_tpc\d{3}$/", $topic['id'], "id should match");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
            $this->assertArrayHasKey('desc', $topic, "topic must have desc");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
            $this->assertNotEmpty($topic['desc'], "description is not empty");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
        }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
    function testBuildResourcesSpeakers() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
        $converter = $this->getMockConverter($this->doc, $this->transcriptSource);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
        $json = $converter->convertToJson();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
        $resources = $json['resources'];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
        $speakersDef = null;
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
        foreach($resources as $resdef) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
            if($resdef['id'] === 'speakers') {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
                $speakersDef = $resdef;
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
            }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
        }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
        $this->assertNotNull($speakersDef, "One of the resources ids must be speakers");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
        $this->assertTrue(is_array($speakersDef), "must be an array");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
        $this->assertArrayHasKey('id', $speakersDef, 'Speakersdef must ha an id');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
        $this->assertEquals('speakers', $speakersDef['id'], 'id must be speakers');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
        $this->assertArrayHasKey('content', $speakersDef, 'Speakersdef must ha a content');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
        $content = $speakersDef['content'];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
        $this->assertTrue(is_array($content), "content must be an array");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
        $this->assertArrayHasKey('mimetype', $content, 'content must have a mimetype');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
        $this->assertEquals('application/json', $content['mimetype'], 'mimetype is json');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
        $this->assertArrayHasKey('data', $content, "contant has data");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
        $data = $content['data'];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
        $this->assertNotNull($data, "data is not null");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
        $this->assertTrue(is_array($data), "data is an array");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
        $this->assertCount(6, $data, "Must have 23 speakers");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
        foreach($data as $speaker) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
            $this->assertTrue(is_array($speaker), "speaker is an array");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
            $this->assertArrayHasKey('id', $speaker, "speaker has an id");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
            $this->assertRegExp("/^11280\.100\/crdo-CFPP2000_11_SOUND_spkr\d{3}$/", $speaker['id'], "id should match");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
            $this->assertArrayHasKey('name', $speaker, "speaker must have name");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
            $this->assertNotEmpty($speaker['name'], "name is not empty");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
        }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
    public function testBuildLists() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
        $converter = $this->getMockConverter($this->doc, $this->transcriptSource);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
        $converter->parseSource();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
        $lists = $converter->buildLists();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
        $this->assertCount(23, $lists, "Must have 23 lists (sections)");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
        foreach($lists as $listIndex => $list) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
            $this->assertArrayHasKey('id', $list, "list must have an id");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
            $this->assertEquals('11280.100/crdo-CFPP2000_11_SOUND_sctn'.sprintf("%03d", $listIndex+1), $list['id'], "Id must be formatted");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
            $this->assertArrayHasKey('meta', $list, "list must have meta");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
            $metaKeys = array_keys($list['meta']);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
            sort($metaKeys);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
            $this->assertEquals(['corpus:begin', 'corpus:end', 'corpus:topic'], $metaKeys, "meta contains topic begin end");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
            $this->assertTrue($list['meta']['corpus:begin']<$list['meta']['corpus:end'], "begin < end");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
            $this->assertTrue(is_array($list['meta']['corpus:topic']), "topic is an array");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
            $this->assertEquals(['id-ref'], array_keys(($list['meta']['corpus:topic'])), "topic is a ref");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
            $this->assertRegExp("/11280\.100\/crdo-CFPP2000_11_SOUND_tpc\d+/", $list['meta']['corpus:topic']['id-ref'], "must match format");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
            $this->assertArrayHasKey('items', $list, "List has items");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
            $this->assertTrue(is_array($list['items']));
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
            $this->assertNotEmpty($list['items'], "items not empty");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
            foreach($list['items'] as $item) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
                $this->assertTrue(is_array($item), 'item is array');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
                $this->assertEquals(['id-ref'], array_keys($item), "item is a ref");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
                $this->assertRegExp('/11280\.100\/crdo-CFPP2000_11_SOUND_trn\d+/', $item['id-ref'], "Item is a turn");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
            }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
        }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
    public function testBuildListsFirst() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
        $converter = $this->getMockConverter($this->doc, $this->transcriptSource);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
        $converter->parseSource();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
        $lists = $converter->buildLists();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
        $this->assertEquals('11280.100/crdo-CFPP2000_11_SOUND_sctn001', $lists[0]['id'], 'lists count must start by 1');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
        $this->assertCount(76, $lists[0]['items'], "First list must have 76 elements");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
    public function testBuildAnnotationTypes() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
        $converter = $this->getMockConverter($this->doc, $this->transcriptSource);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
        $converter->parseSource();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
        $annotationTypes = $converter->buildAnnotationTypes();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
        $this->assertCount(683, $annotationTypes, "Must have 683 annotation types (turns)");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
        foreach($annotationTypes as $i => $turn) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
            $this->assertTrue(is_array($turn), "turn must be an array");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
            $turnKeys = array_keys($turn);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
            sort($turnKeys);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
            $this->assertEquals(['corpus:begin', 'corpus:end', 'dc:title', 'id'], $turnKeys, "turn must have an id, etc...");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
            $this->assertEquals('11280.100/crdo-CFPP2000_11_SOUND_trn'.sprintf("%04d", $i+1), $turn['id'], "Id must be formatted");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
            $this->assertTrue($turn['corpus:begin']<$turn['corpus:end'], "begin < end");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
            $this->assertEquals('Turn '.($i+1),$turn['dc:title'], 'title must be Turn ...');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
        }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
    public function testBuildAnnotations() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
        $converter = $this->getMockConverter($this->doc, $this->transcriptSource);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
        $json = $converter->convertToJson();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
        $annotations = $converter->buildAnnotations();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
        $this->assertCount(1056, $annotations, "Must have 1056 annotation");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
        foreach($annotations as $i => $a) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
            $this->assertArrayHasKey('id', $a, "Must have id");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
            $this->assertEquals($this->doc->getId()."_a".sprintf("%04d",$i+1), $a['id']);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
            $this->assertArrayHasKey('media', $a, "Must have media");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
            $this->assertEquals('11280.100/crdo-CFPP2000_11_SOUND_m1', $a['media'], 'must be media m1 for annotation '.$a['id']);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
            $this->assertArrayHasKey('begin', $a, "Must have begin key");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
            $this->assertArrayHasKey('end', $a, "Must have begin key");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
            $this->assertTrue($a['begin']<$a['end'], "Begin is < to end");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
            $this->assertEquals($converter->getMediaRefId(), $a['media']);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
            $this->assertArrayHasKey('content', $a, "must have content");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
            $this->assertTrue(is_array($a['content']));
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
            $this->assertArrayHasKey('mimetype', $a['content']);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
            $this->assertEquals('application/json', $a['content']['mimetype']);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
            $this->assertArrayHasKey('data', $a['content']);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
            $this->assertTrue(is_array($a['content']['data']));
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
            $this->assertArrayHasKey('type', $a, "annotation have type");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
            $this->assertRegExp('/11280\.100\/crdo-CFPP2000_11_SOUND_trn\d+/', $a['type'], "annotation have type");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
            $this->assertArrayHasKey('meta', $a, "annotation have meta");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
            $this->assertTrue(is_array($a['meta']), "Meta is array");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
            $this->assertArrayHasKey('id-ref', $a['meta'], "meta has id-ref");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
            $this->assertEquals($a['type'],$a['meta']['id-ref'], 'annotation type and meta id-ref are equals');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
        }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
    public function testBuildAnnotationsContent() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
        $converter = $this->getMockConverter($this->doc, $this->transcriptSource);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
        $converter->parseSource();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
        $annotations = $converter->buildAnnotations();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
        foreach($annotations as $i => $a) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
            $data = $a['content']['data'];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
            $this->assertNotEmpty($data, "Must have data");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
            $this->assertArrayHasKey('speaker', $data, "data must have speaker");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
            $this->assertArrayHasKey('content', $data, "data must have content");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
            $this->assertTrue(is_string($data['content']), "Content is string here");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
            $this->assertEquals(trim($data['content']), $data['content'], 'Content is trimmed');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
        }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
    public function testBuildAnnotationsSimple() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
        $converter = $this->getMockConverter($this->doc, $this->transcriptSource);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
        $converter->parseSource();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
        $annotations = array_filter($converter->buildAnnotations(), function($a) { return $a['type'] == '11280.100/crdo-CFPP2000_11_SOUND_trn0002'; });
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
        $this->assertCount(1, $annotations, "Must have one annotation");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
        $annot = $annotations[0];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
        $this->assertEquals("11280.100/crdo-CFPP2000_11_SOUND_spkr006", $annot['content']['data']['speaker']['id-ref']);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
        $this->assertEquals("animaux d'ferme + à l'Ile Saint-Denis", $annot['content']['data']['content']);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
        $this->assertEquals(63, $annot['begin'], "Must start at 63 ms");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
        $this->assertEquals(1396, $annot['end'], "Must start at 1396 ms");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
        $this->assertEquals('11280.100/crdo-CFPP2000_11_SOUND_a0001', $annot['id'], 'id must be 11280.100\/crdo-CFPP2000_11_SOUND_a0001');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
        $this->assertEquals('11280.100/crdo-CFPP2000_11_SOUND_trn0002', $annot['meta']['id-ref']);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
    public function testBuildAnnotationMultipleSpeaker() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
        $converter = $this->getMockConverter($this->doc, $this->transcriptSource);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
        $json = $converter->convertToJson();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
        $annotations = array_values(array_filter($converter->buildAnnotations(), function($a) { return $a['type'] == '11280.100/crdo-CFPP2000_11_SOUND_trn0003'; }));
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
        $this->assertCount(2, $annotations, "Must have 2 annotation");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
        $expectedAnnotations = [
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
            ['begin' => 1396, 'end' => 4866, 'content' => "eh: j'ai connu les chevaux encore sur euh le les Champs-Elysées hein", 'speaker' => "11280.100/crdo-CFPP2000_11_SOUND_spkr001"],
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
            ['begin' => 1396, 'end' => 4866, 'content' => "j'ai une amie tous les jeudis elle allait à la X", 'speaker' => "11280.100/crdo-CFPP2000_11_SOUND_spkr002"],
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
        ];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
        for($i=0; $i<2; $i++) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
            $expAnnot = $expectedAnnotations[$i];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
            $annot = $annotations[$i];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
            $this->assertEquals($expAnnot['begin'], $annot['begin'], 'same begin');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
            $this->assertEquals($expAnnot['end'], $annot['end'], 'same end');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
            $this->assertEquals($expAnnot['content'], $annot['content']['data']['content'], "must have same content");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
            $this->assertEquals($expAnnot['speaker'], $annot['content']['data']['speaker']['id-ref'], "must have same speaker");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
        }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
    public function testBuildAnnotationMultipleSync() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
        $converter = $this->getMockConverter($this->doc, $this->transcriptSource);
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
        $json = $converter->convertToJson();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
        $annotations = array_values(array_filter($converter->buildAnnotations(), function($a) { return $a['type'] == '11280.100/crdo-CFPP2000_11_SOUND_trn0082'; }));
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
        $this->assertCount(4, $annotations, "Must have 4 annotation");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
        $expectedAnnotations = [
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
            ['begin' => 301456, 'end' => 307878, 'content' => "savez c'est les trois immeubles: qui s'en vont euh j'sais pas s'ils existent encore j'en sais rien", 'speaker' => "11280.100/crdo-CFPP2000_11_SOUND_spkr001"],
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
            ['begin' => 301456, 'end' => 307878, 'content' => "ah oui + oui oui ++ euh: non ils ont X été abattus", 'speaker' => "11280.100/crdo-CFPP2000_11_SOUND_spkr004"],
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
            ['begin' => 307878, 'end' => 314289, 'content' => "ah bon + bien dommage bien dommage parce qu'ils étaient b- ils étaient beaux ces logements ah ils étaient beaux ces logements hein", 'speaker' => "11280.100/crdo-CFPP2000_11_SOUND_spkr001"],
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
            ['begin' => 307878, 'end' => 314289, 'content' => "oui parce qu'ils construisent là X oui moi j'connaissais des gens là aussi + dans ces bâtiments", 'speaker' => "11280.100/crdo-CFPP2000_11_SOUND_spkr004"],
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
        ];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
        for($i=0; $i<2; $i++) {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
            $expAnnot = $expectedAnnotations[$i];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
            $annot = $annotations[$i];
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
            $this->assertEquals($expAnnot['begin'], $annot['begin'], 'same begin');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
            $this->assertEquals($expAnnot['end'], $annot['end'], 'same end');
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
            $this->assertEquals($expAnnot['content'], $annot['content']['data']['content'], "must have same content");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
            $this->assertEquals($expAnnot['speaker'], $annot['content']['data']['speaker']['id-ref'], "must have same speaker");
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
        }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
    public function tearDown() {
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
        m::close();
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
    }
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
a6cf5a06f02d add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
}