WillTools 2026-09-09 -- clean snapshot of the development repo for review
ci / test (push) Successful in 6m18s
ci / test (push) Successful in 6m18s
History-free snapshot of the private development repository at cbe45c5 (2026-09-09). Code, docs and public catalogue only; no plant or job knowledge layers, no client or job names (tools/scrub.py clean). The intro deck is left out of this snapshot because its slide images could not be checked for job drawings.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# -*- 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'}
|
||||
Reference in New Issue
Block a user