Exemplo n.º 1
0
            }],
        ),
        # ListConfig
        (
            lambda value, is_optional, key=None: ListConfig(
                is_optional=is_optional, content=value, key=key),
            [[], [1, 2, 3]],
        ),
        # dataclass
        (
            lambda value, is_optional, key=None: DictConfig(ref_type=Group,
                                                            is_optional=
                                                            is_optional,
                                                            content=value,
                                                            key=key),
            [Group, Group()],
        ),
    ],
    ids=(
        "BooleanNode",
        "BytesNode",
        "FloatNode",
        "IntegerNode",
        "StringNode",
        "EnumNode",
        "DictConfig",
        "ListConfig",
        "dataclass",
    ),
)
class TestNodeTypesMatrix:
Exemplo n.º 2
0
 param(
     [{
         "user": "******"
     }, {
         "user": Group
     }],
     {"user": Group},
     id="merge_into_missing_node",
 ),
 param(
     [{
         "admin": {
             "name": "joe",
             "age": 42
         }
     }, Group(admin=None)],
     {"admin": None},
     id="merge_none_into_existing_node",
 ),
 param(
     [{
         "user": User()
     }, {
         "user": {
             "foo": "bar"
         }
     }],
     raises(ConfigKeyError),
     id="merge_unknown_key_into_structured_node",
 ),
 # DictConfig with element_type of Structured Config
Exemplo n.º 3
0
 ),
 pytest.param(
     [{"user": User}, {"user": Group}],
     pytest.raises(ValidationError),
     id="merge_group_onto_user_error",
 ),
 pytest.param(
     [Plugin, ConcretePlugin], ConcretePlugin, id="merge_subclass_on_superclass"
 ),
 pytest.param(
     [{"user": "******"}, {"user": Group}],
     {"user": Group},
     id="merge_into_missing_node",
 ),
 pytest.param(
     [{"admin": {"name": "joe", "age": 42}}, Group(admin=None)],
     {"admin": None},
     id="merge_none_into_existing_node",
 ),
 pytest.param(
     [{"user": User()}, {"user": {"foo": "bar"}}],
     pytest.raises(ConfigKeyError),
     id="merge_unknown_key_into_structured_node",
 ),
 # DictConfig with element_type of Structured Config
 pytest.param(
     (
         DictConfig({}, element_type=User),
         {"user007": {"age": 99}},
     ),
     {"user007": {"name": "???", "age": 99}},