|
|
from __future__ import division, print_function
|
|
|
|
|
|
import math
|
|
|
|
|
|
from .. import word_error_rate, words
|
|
|
|
|
|
|
|
|
def test_words():
|
|
|
result = list(words('Der schnelle [„braune“] Fuchs kann keine 3,14 Meter springen, oder?'))
|
|
|
expected = ['Der', 'schnelle', 'braune', 'Fuchs', 'kann', 'keine', '3,14', 'Meter', 'springen', 'oder']
|
|
|
assert result == expected
|
|
|
|
|
|
|
|
|
def test_words_private_use_area():
|
|
|
result = list(words(
|
|
|
'ber die vielen Sorgen wegen deelben vergaß Hartkopf, der Frau Amtmnnin das ver⸗\n'
|
|
|
'ſproene zu berliefern.'))
|
|
|
expected = [
|
|
|
'ber', 'die', 'vielen', 'Sorgen', 'wegen', 'deelben', 'vergaß', 'Hartkopf',
|
|
|
'der', 'Frau', 'Amtmnnin', 'das', 'ver',
|
|
|
'ſproene', 'zu', 'berliefern']
|
|
|
assert result == expected
|
|
|
|
|
|
|
|
|
def test_word_error_rate():
|
|
|
assert word_error_rate('Dies ist ein Beispielsatz!', 'Dies ist ein Beispielsatz!') == 0
|
|
|
assert word_error_rate('Dies. ist ein Beispielsatz!', 'Dies ist ein Beispielsatz!') == 0
|
|
|
assert word_error_rate('Dies. ist ein Beispielsatz!', 'Dies ist ein Beispielsatz.') == 0
|
|
|
|
|
|
assert word_error_rate('Dies ist ein Beispielsatz!', 'Dies ist ein Beispielsarz:') == 1/4
|
|
|
assert word_error_rate('Dies ist ein Beispielsatz!', 'Dies ein ist Beispielsatz!') == 2/4
|
|
|
|
|
|
assert word_error_rate('Dies ist ein Beispielsatz!', '') == 4/4
|
|
|
assert math.isinf(word_error_rate('', 'Dies ist ein Beispielsatz!'))
|
|
|
assert word_error_rate('', '') == 0
|
|
|
|
|
|
assert word_error_rate('Schlyñ lorem ipsum dolor sit amet,', 'Schlym̃ lorem ipsum dolor sit amet.') == 1/6
|