2024-04-18 20:31:19 +00:00
|
|
|
from collections import defaultdict
|
|
|
|
|
2024-04-18 09:06:42 +00:00
|
|
|
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 09:06:42 +00:00
|
|
|
|
2024-04-18 20:31:19 +00:00
|
|
|
def test_co3_registry():
|
|
|
|
keys_to_groups = defaultdict(list)
|
2024-04-18 09:06:42 +00:00
|
|
|
|
2024-04-18 20:31:19 +00:00
|
|
|
# collect groups each key is associated
|
|
|
|
for action_group, action_keys in tomato.group_registry.items():
|
|
|
|
for action_key in action_keys:
|
|
|
|
keys_to_groups[action_key].append(action_group)
|
2024-04-18 09:06:42 +00:00
|
|
|
|
2024-04-18 20:31:19 +00:00
|
|
|
# check against `action_registry`, should map keys to all groups
|
|
|
|
for action_key, (_, action_groups) in tomato.action_registry.items():
|
|
|
|
assert keys_to_groups.get(action_key) == action_groups
|
2024-04-18 09:06:42 +00:00
|
|
|
|
2024-04-18 20:31:19 +00:00
|
|
|
def test_co3_attributes():
|
|
|
|
assert tomato.attributes is not None
|
2024-04-18 09:06:42 +00:00
|
|
|
|
2024-04-18 20:31:19 +00:00
|
|
|
def test_co3_components():
|
|
|
|
assert tomato.components is not None
|
2024-04-18 09:06:42 +00:00
|
|
|
|
2024-04-18 20:31:19 +00:00
|
|
|
def test_co3_collation_attributes():
|
|
|
|
for action_group, action_keys in tomato.group_registry.items():
|
|
|
|
for action_key in action_keys:
|
|
|
|
assert tomato.collation_attributes(action_key, action_group) is not None
|
2024-04-18 09:06:42 +00:00
|
|
|
|
2024-04-18 20:31:19 +00:00
|
|
|
def test_co3_collate():
|
|
|
|
for action_group, action_keys in tomato.group_registry.items():
|
|
|
|
for action_key in action_keys:
|
|
|
|
assert tomato.collate(action_key) is not None
|