Initial commit
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Unit tests for nltk.metrics.aline
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import unittest
|
||||
|
||||
from nltk.metrics import aline
|
||||
|
||||
|
||||
class TestAline(unittest.TestCase):
|
||||
"""
|
||||
Test Aline algorithm for aligning phonetic sequences
|
||||
"""
|
||||
|
||||
def test_aline(self):
|
||||
result = aline.align('θin', 'tenwis')
|
||||
expected = [
|
||||
[('θ', 't'), ('i', 'e'), ('n', 'n'), ('-', 'w'), ('-', 'i'), ('-', 's')]
|
||||
]
|
||||
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
result = aline.align('jo', 'ʒə')
|
||||
expected = [[('j', 'ʒ'), ('o', 'ə')]]
|
||||
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
result = aline.align('pematesiweni', 'pematesewen')
|
||||
expected = [
|
||||
[
|
||||
('p', 'p'),
|
||||
('e', 'e'),
|
||||
('m', 'm'),
|
||||
('a', 'a'),
|
||||
('t', 't'),
|
||||
('e', 'e'),
|
||||
('s', 's'),
|
||||
('i', 'e'),
|
||||
('w', 'w'),
|
||||
('e', 'e'),
|
||||
('n', 'n'),
|
||||
('i', '-'),
|
||||
]
|
||||
]
|
||||
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
result = aline.align('tuwθ', 'dentis')
|
||||
expected = [
|
||||
[
|
||||
('t', 'd'),
|
||||
('u', 'e'),
|
||||
('w', '-'),
|
||||
('-', 'n'),
|
||||
('-', 't'),
|
||||
('-', 'i'),
|
||||
('θ', 's'),
|
||||
]
|
||||
]
|
||||
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
def test_aline_delta(self):
|
||||
"""
|
||||
Test aline for computing the difference between two segments
|
||||
"""
|
||||
result = aline.delta('p', 'q')
|
||||
expected = 20.0
|
||||
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
result = aline.delta('a', 'A')
|
||||
expected = 0.0
|
||||
|
||||
self.assertEqual(result, expected)
|
||||
Reference in New Issue
Block a user