33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
from untitled import PACKAGE_ROOT, generation, namegen, rules
|
|
|
|
|
|
def test_cat_description_gen():
|
|
traits_a = {
|
|
"size": "tiny",
|
|
"color": "tuxedo",
|
|
"eyes": "blue",
|
|
"personality": "judges you silently",
|
|
}
|
|
traits_an = {
|
|
"size": "average sized",
|
|
"color": "tuxedo",
|
|
"eyes": "blue",
|
|
"personality": "judges you silently",
|
|
}
|
|
a = "A tiny tuxedo kitten with blue eyes who judges you silently"
|
|
an = "An average sized tuxedo kitten with blue eyes who judges you silently"
|
|
assert generation.generate_trait_sentence(traits_a) == a
|
|
assert generation.generate_trait_sentence(traits_an) == an
|
|
|
|
|
|
def test_generated_names_pass_filters():
|
|
names = []
|
|
with open(PACKAGE_ROOT / "assets" / "cat_names.txt") as f:
|
|
for i in f.readlines():
|
|
names.append(i.strip())
|
|
name_generator = namegen.NameGenerator(names, rules.validate_cat_name)
|
|
for _ in range(10000):
|
|
name = name_generator.generate_name()
|
|
assert rules.validate_cat_name(name, auto_gen=True) is None
|
|
assert any(c in "aeiouy" for c in name.lower())
|