MCPcopy Create free account
hub / github.com/apache/fory / test_build_default_values_factory

Function test_build_default_values_factory

python/pyfory/tests/test_struct.py:1030–1075  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1028
1029
1030def test_build_default_values_factory():
1031 fory = Fory(xlang=False, ref=True, strict=False, compatible=False)
1032 type_hints = typing.get_type_hints(MissingDefaultFactoryFields)
1033 default_factories = build_default_values_factory(
1034 fory,
1035 type_hints,
1036 dataclasses.fields(MissingDefaultFactoryFields),
1037 )
1038
1039 assert callable(default_factories["required"])
1040 assert callable(default_factories["required_float"])
1041 assert callable(default_factories["required_str"])
1042 assert callable(default_factories["required_bytes"])
1043 assert callable(default_factories["required_list"])
1044 assert callable(default_factories["required_set"])
1045 assert callable(default_factories["required_dict"])
1046 assert callable(default_factories["plain_default"])
1047 assert callable(default_factories["list_default"])
1048 assert callable(default_factories["enum_default_none"])
1049
1050 assert default_factories["required"]() == 0
1051 assert default_factories["required_float"]() == 0.0
1052 assert default_factories["required_str"]() == ""
1053 assert default_factories["required_bytes"]() == b""
1054 list_required_one = default_factories["required_list"]()
1055 list_required_two = default_factories["required_list"]()
1056 assert list_required_one == []
1057 assert list_required_two == []
1058 assert list_required_one is not list_required_two
1059 set_required_one = default_factories["required_set"]()
1060 set_required_two = default_factories["required_set"]()
1061 assert set_required_one == set()
1062 assert set_required_two == set()
1063 assert set_required_one is not set_required_two
1064 dict_required_one = default_factories["required_dict"]()
1065 dict_required_two = default_factories["required_dict"]()
1066 assert dict_required_one == {}
1067 assert dict_required_two == {}
1068 assert dict_required_one is not dict_required_two
1069 assert default_factories["plain_default"]() == 7
1070 assert default_factories["enum_default_none"]() is MissingDefaultEnum.A
1071 list_one = default_factories["list_default"]()
1072 list_two = default_factories["list_default"]()
1073 assert list_one == []
1074 assert list_two == []
1075 assert list_one is not list_two
1076
1077
1078@dataclass

Callers

nothing calls this directly

Calls 4

ForyClass · 0.90
setFunction · 0.50
fieldsMethod · 0.45

Tested by

no test coverage detected