Refactor out langauges
This commmit removes the languages code and takes a dependency on the rewritten module.
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
import pytest
|
||||
from language.types import WeightedSet
|
||||
from language.languages.common import common
|
||||
|
||||
|
||||
@pytest.mark.parametrize('values,expected_members,expected_weights', [
|
||||
((('foo', 1.0), ('bar', 0.5)), ('foo', 'bar'), (1.0, 0.5))
|
||||
])
|
||||
def test_WeightedSet(values, expected_members, expected_weights):
|
||||
|
||||
print(*values)
|
||||
ws = WeightedSet(*values)
|
||||
assert ws.members == expected_members
|
||||
assert ws.weights == expected_weights
|
||||
assert ws.random()
|
||||
|
||||
|
||||
def test_common():
|
||||
for i in range(50000):
|
||||
assert common.word()
|
||||
@@ -0,0 +1,22 @@
|
||||
from language import types
|
||||
|
||||
|
||||
def test_subclassing():
|
||||
|
||||
class akak(types.Language):
|
||||
clicks = types.WeightedSet(("k'", 1.0),)
|
||||
|
||||
def get_grapheme_click(self) -> str:
|
||||
return self.clicks.random()
|
||||
|
||||
ak = akak(
|
||||
name='ClickSpeak',
|
||||
vowels=types.WeightedSet(('a', 1.0),),
|
||||
consonants=types.WeightedSet(),
|
||||
prefixes=None,
|
||||
suffixes=None,
|
||||
rules=set(),
|
||||
minimum_grapheme_count=2,
|
||||
syllables=types.SyllableSet((types.Syllable('vowel,click'), 1.0),),
|
||||
)
|
||||
assert list(ak.word(2)) == ["ak'", "ak'"]
|
||||
Reference in New Issue
Block a user