co3/tests/test_co3.py

40 lines
1.2 KiB
Python
Raw Permalink Normal View History

2024-04-18 20:31:19 +00:00
from collections import defaultdict
from co3.components import Relation
from setups import vegetables as veg
2024-04-18 20:31:19 +00:00
tomato = veg.Tomato('t1', 10)
2024-04-18 20:31:19 +00:00
def test_co3_registry():
keys_to_groups = defaultdict(list)
2024-04-18 20:31:19 +00:00
# collect groups each key is associated
for group, keys in tomato.group_registry.items():
for key in keys:
keys_to_groups[key].append(group)
assert set(tomato.key_registry.get(None,{}).keys()) == set(keys_to_groups.get(None,[]))
# check against `registry`, should map keys to all groups
for key, group_dict in tomato.key_registry.items():
assert keys_to_groups.get(key) == list(group_dict.keys())
2024-04-18 20:31:19 +00:00
def test_co3_attributes():
assert tomato.attributes is not None
2024-04-18 20:31:19 +00:00
def test_co3_components():
assert tomato.components is not None
2024-04-18 20:31:19 +00:00
def test_co3_collation_attributes():
for group, keys in tomato.group_registry.items():
for key in keys:
assert tomato.collation_attributes(key, group) is not None
2024-04-18 20:31:19 +00:00
def test_co3_collate():
for group, keys in tomato.group_registry.items():
for key in keys:
if key is None: continue
assert tomato.collate(key, group=group) is not None