Exemple #1
0
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')