Skip to content

Commit ef6e349

Browse files
committed
added unit tests when ffmpeg is disabled
1 parent cd39137 commit ef6e349

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

media/musanmix.wav

2.27 MB
Binary file not shown.

run_test.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,14 @@ def seg2str(iseg, tseg):
7979
self.assertEqual(curstop, nextstart,
8080
'%s VS %s' % (seg2str(i, ret[i]), seg2str(i+1, ret[i+1])))
8181

82+
seg = Segmenter(ffmpeg=None)
83+
ret = seg('./media/musanmix.wav')
84+
for i in range(len(ret) -1):
85+
curstop = ret[i][2]
86+
nextstart = ret[i+1][1]
87+
self.assertEqual(curstop, nextstart,
88+
'%s VS %s' % (seg2str(i, ret[i]), seg2str(i+1, ret[i+1])))
89+
8290
def test_processingresult(self):
8391
seg = Segmenter(vad_engine='sm')
8492
ret = seg('./media/musanmix.mp3')
@@ -87,6 +95,14 @@ def test_processingresult(self):
8795
self.assertEqual([e[0] for e in ref], [e[0] for e in ret])
8896
np.testing.assert_almost_equal([e[1] for e in ref], [e[1] for e in ret])
8997
np.testing.assert_almost_equal([e[2] for e in ref], [e[2] for e in ret])
98+
99+
seg = Segmenter(vad_engine='sm', ffmpeg=None)
100+
ret = seg('./media/musanmix.wav')
101+
df = pd.read_csv('./media/musanmix-sm-gender.csv', sep='\t')
102+
ref = [(l.labels, float(l.start), float(l.stop)) for _, l in df.iterrows()]
103+
self.assertEqual([e[0] for e in ref], [e[0] for e in ret])
104+
np.testing.assert_almost_equal([e[1] for e in ref], [e[1] for e in ret])
105+
np.testing.assert_almost_equal([e[2] for e in ref], [e[2] for e in ret])
90106

91107
def test_batch(self):
92108
seg = Segmenter(vad_engine='sm')
@@ -96,6 +112,12 @@ def test_batch(self):
96112
self.assertTrue(filecmp.cmp(lout[0], lout[1]))
97113
self.assertTrue(filecmp.cmp(lout[0], './media/musanmix-sm-gender.csv'))
98114

115+
seg = Segmenter(vad_engine='sm', ffmpeg=None)
116+
with tempfile.TemporaryDirectory() as tmpdirname:
117+
lout = [os.path.join(tmpdirname, '1.1.csv'), os.path.join(tmpdirname, '2.1.csv')]
118+
ret = seg.batch_process(['./media/musanmix.wav', './media/musanmix.wav'], lout)
119+
self.assertTrue(filecmp.cmp(lout[0], lout[1]))
120+
self.assertTrue(filecmp.cmp(lout[0], './media/musanmix-sm-gender.csv'))
99121

100122
def test_praat_export(self):
101123
seg = Segmenter()

0 commit comments

Comments
 (0)