mirror of
https://github.com/rspeer/wordfreq.git
synced 2024-12-23 17:31:41 +00:00
a06c3fc648
When, before, I was importing wordfreq.query at the top level, this
created a dependency loop when installing wordfreq.
The new top-level __init__.py provides just a `word_frequency` function,
which imports the real function as needed and calls it. This should
avoid the dependency loop, at the cost of making
`wordfreq.word_frequency` slightly less efficient than
`wordfreq.query.word_frequency`.
Former-commit-id: 44ccf40742
43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
from __future__ import unicode_literals
|
|
from nose.tools import eq_, assert_almost_equal, assert_greater
|
|
from wordfreq import word_frequency
|
|
from wordfreq.query import (average_frequency, wordlist_size,
|
|
wordlist_info)
|
|
|
|
|
|
def test_freq_examples():
|
|
assert_almost_equal(
|
|
word_frequency('normalization', 'en', 'google-books'),
|
|
1.767e-6, places=9
|
|
)
|
|
assert_almost_equal(
|
|
word_frequency('normalization', 'en', 'google-books', 1e-6),
|
|
2.767e-6, places=9
|
|
)
|
|
assert_almost_equal(
|
|
word_frequency('normalisation', 'fr', 'leeds-internet'),
|
|
4.162e-6, places=9
|
|
)
|
|
assert_greater(
|
|
word_frequency('lol', 'xx', 'twitter'),
|
|
word_frequency('lol', 'en', 'google-books')
|
|
)
|
|
eq_(
|
|
word_frequency('totallyfakeword', 'en', 'multi', .5),
|
|
.5
|
|
)
|
|
|
|
|
|
def _check_normalized_frequencies(wordlist, lang):
|
|
assert_almost_equal(
|
|
average_frequency(wordlist, lang) * wordlist_size(wordlist, lang),
|
|
1.0, places=6
|
|
)
|
|
|
|
|
|
def test_normalized_frequencies():
|
|
for list_info in wordlist_info():
|
|
wordlist = list_info['wordlist']
|
|
lang = list_info['lang']
|
|
yield _check_normalized_frequencies, wordlist, lang
|