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_auto_gen_cat_name) for _ in range(10000): name = name_generator.generate_name() assert rules.validate_auto_gen_cat_name(name) is None assert any(c in "aeiouy" for c in name.lower())