laywerrobot/lib/python3.6/site-packages/nltk/test/unit/test_aline.py
2020-08-27 21:55:39 +02:00

52 lines
1.4 KiB
Python

# -*- 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)