Files
willtools-demo/WillTools.extension/tests/test_knowledge_dotted_parameters.py
will 25592fa6c2
ci / test (push) Successful in 6m14s
WillTools 2026-09-09 -- clean snapshot of the development repo for review
History-free snapshot of the private development repository at 77a82eb.
Code, docs and the public catalogue only: no plant or job knowledge
layers, no client, job or producer names (tools/scrub.py clean against
the widened term list; a second word-level grep clean). The intro deck is
left out because its slide images cannot be checked for job drawings.
2026-09-09 08:35:15 -05:00

38 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
"""A job layer may spell its role map flat ('panel.design_number: X');
`_nest_dotted_parameters` folds it into the nested tree `param_names`
walks, and the flat (later-layer) value beats a nested None placeholder."""
from vibe import knowledge
def test_flat_keys_fold_into_the_nested_tree():
merged = {'parameters': {'panel.design_number': 'DESIGN_NO_PARAM',
'sheet.fc': 'FC_PARAM'}}
knowledge._nest_dotted_parameters(merged)
assert merged['parameters'] == {'panel': {'design_number': 'DESIGN_NO_PARAM'},
'sheet': {'fc': 'FC_PARAM'}}
assert knowledge.param_names(merged, 'panel.design_number') == ['DESIGN_NO_PARAM']
def test_flat_value_overwrites_a_nested_placeholder():
merged = {'parameters': {'panel': {'design_number': None, 'length': 'LENGTH_PARAM'},
'panel.design_number': 'DESIGN_NO_PARAM'}}
knowledge._nest_dotted_parameters(merged)
assert merged['parameters']['panel'] == {'design_number': 'DESIGN_NO_PARAM',
'length': 'LENGTH_PARAM'}
assert 'panel.design_number' not in merged['parameters']
def test_nested_only_tree_is_untouched():
merged = {'parameters': {'panel': {'design_number': 'D'}, 'not_applicable': ['x']}}
before = {'panel': {'design_number': 'D'}, 'not_applicable': ['x']}
knowledge._nest_dotted_parameters(merged)
assert merged['parameters'] == before
def test_no_parameters_or_odd_shapes_never_raise():
for merged in ({}, {'parameters': None}, {'parameters': 'x'},
{'parameters': {'panel': 'flat-string', 'panel.design_number': 'D'}}):
knowledge._nest_dotted_parameters(merged)
assert merged['parameters']['panel'] == {'design_number': 'D'}