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