You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dinglehopper/dinglehopper/tests/test_word_error_rate.py

87 lines
2.0 KiB
Python

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 deelben vergaß Hartkopf, der Frau Amtmnnin das ver⸗\n"
"ſproene zu berliefern."
)
)
expected = [
"ber",
"die",
"vielen",
"Sorgen",
"wegen",
"deelben",
"vergaß",
"Hartkopf",
"der",
"Frau",
"Amtmnnin",
"das",
"ver",
"ſproene",
"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
)