Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_create_instance_with_simple_data_class():
@dataclass
class X:
i: int
instance = create_instance(data_class=X, init_values={"i": 1}, post_init_values={})
assert instance == X(i=1)
def test_create_instance_with_post_init_values():
@dataclass
class X:
i: int
j: int = field(init=False)
instance = create_instance(data_class=X, init_values={"i": 1}, post_init_values={"j": 2})
assert instance.i == 1
assert instance.j == 2
raise
if config.check_types and not is_instance(value, field.type):
raise WrongTypeError(field_path=field.name, field_type=field.type, value=value)
except KeyError:
try:
value = get_default_value_for_field(field)
except DefaultValueNotFoundError:
if not field.init:
continue
raise MissingValueError(field.name)
if field.init:
init_values[field.name] = value
else:
post_init_values[field.name] = value
return create_instance(data_class=data_class, init_values=init_values, post_init_values=post_init_values)