1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#!/usr/bin/env python
from cmusphinx import corpus
import wave
import unittest
import os
import sys
class TestFileResource(unittest.TestCase):
def setUp(self):
thisdir = os.path.dirname(__file__)
self.testdir = os.path.join(thisdir, 'data')
self.testfile = os.path.join(thisdir, 'data', 'test.ctl')
def test_string(self):
ctl = corpus.ListResource(self.testfile, corpus.CtlEntry)
res = iter(corpus.FileResource(ctl, self.testdir, '.wav'))
self.assertEqual(next(res), os.path.join(self.testdir, 'sa1.wav'))
def test_wave(self):
ctl = corpus.ListResource(self.testfile, corpus.CtlEntry)
res = iter(corpus.FileResource(ctl, self.testdir, '.wav', wave.Wave_read))
wav = next(res)
self.assertEqual(wav.getnframes(), 45261)
class TestListResource(unittest.TestCase):
def setUp(self):
thisdir = os.path.dirname(__file__)
self.testfile = os.path.join(thisdir, 'data', 'test.ctl')
def test_string(self):
res = iter(corpus.ListResource(self.testfile))
self.assertEqual(next(res), 'sa1 1 20 sa1_1_20')
self.assertEqual(next(res), 'sa1 25 35 sa1_25_35')
def test_entry(self):
res = iter(corpus.ListResource(self.testfile, corpus.CtlEntry))
entry = next(res)
self.assertEqual(entry.fileid, 'sa1')
self.assertEqual(entry.sf, 1)
self.assertEqual(entry.ef, 20)
self.assertEqual(entry.uttid, 'sa1_1_20')
entry = next(res)
self.assertEqual(entry.fileid, 'sa1')
self.assertEqual(entry.sf, 25)
self.assertEqual(entry.ef, 35)
self.assertEqual(entry.uttid, 'sa1_25_35')
if __name__ == '__main__':
unittest.main()
|