def test_map_attribute_to_index(class_node: yatiml.Node) -> None: class_node.map_attribute_to_index('dict1', 'item_id', 'price') assert class_node.has_attribute_type('dict1', dict) attr_node = class_node.get_attribute('dict1') assert attr_node.is_mapping() assert attr_node.has_attribute('item1') item1_node = attr_node.get_attribute('item1') assert len(item1_node.yaml_node.value) == 2 assert item1_node.has_attribute('item_id') assert item1_node.get_attribute('item_id').get_value() == 'item1' assert item1_node.has_attribute('price') assert item1_node.get_attribute('price').get_value() == 100.0 assert attr_node.has_attribute('item2') item2_node = attr_node.get_attribute('item2') assert len(item2_node.yaml_node.value) == 2 assert item2_node.has_attribute('item_id') assert item2_node.get_attribute('item_id').get_value() == 'item2' assert item2_node.has_attribute('price') assert item2_node.get_attribute('price').get_value() == 200.0 assert attr_node.has_attribute('item3') item3_node = attr_node.get_attribute('item3') assert len(item3_node.yaml_node.value) == 2 assert item3_node.has_attribute('item_id') assert item3_node.get_attribute('item_id').get_value() == 'item3' assert item3_node.has_attribute('price') assert item3_node.get_attribute('price').get_value() == 150.0
def _yatiml_savorize(cls, node: yatiml.Node) -> None: if not node.has_attribute('settings'): node.set_attribute('settings', None) node.map_attribute_to_index('implementations', 'name', 'script') node.map_attribute_to_index('resources', 'name', 'num_cores')