author | ymh <ymh.work@gmail.com> |
Sat, 03 Dec 2016 02:43:57 +0100 | |
changeset 463 | 5c43f17f87b5 |
parent 163 | 59c68fc4848e |
permissions | -rw-r--r-- |
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 | 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 |
} |