class BaseTestMapping(metaclass=ABCMeta): def setup(self): self._mapper = DataClassMapper() @property @abstractmethod def dataclass_type(self): ... @property @abstractmethod def dataclass_obj(self): ... @property @abstractmethod def json_string(self): ... def test_from_json(self): assert self._mapper.from_json(self.json_string, self.dataclass_type) == self.dataclass_obj def test_from_dict(self): data = json.loads(self.json_string) assert self._mapper.from_dict(data, self.dataclass_type) == self.dataclass_obj def test_to_json(self): assert self._mapper.to_json(self.dataclass_obj) == self.json_string def test_to_dict(self): data = json.loads(self.json_string) assert self._mapper.to_dict(self.dataclass_obj) == data
def test_set_default_serializer_class(): serializer_class = StringSerializer mapper = DataClassMapper() mapper.default_serializer_class = serializer_class assert mapper.default_serializer_class == mapper._config.default_serializer_class == serializer_class
def test_set_time_format(): format = "%H:%M" mapper = DataClassMapper() mapper.time_format = format assert mapper.time_format == mapper._config.time_format == format
def test_set_date_format(): format = "%Y %m %d" mapper = DataClassMapper() mapper.date_format = format assert mapper.date_format == mapper._config.date_format == format
def test_set_datetime_format(): format = "%Y-%m-%d %H:%M:%S%" mapper = DataClassMapper() mapper.datetime_format = format assert mapper.datetime_format == mapper._config.datetime_format == format
def setup(self): mapper = DataClassMapper() mapper.unregister_serializer(time) self._mapper = mapper
def setup(self): mapper = DataClassMapper() mapper.register_serializer(int, StringSerializer) self._mapper = mapper
def setup(self): mapper = DataClassMapper() mapper.default_serializer_class = StringSerializer self._mapper = mapper
def setup(self): mapper = DataClassMapper() mapper.time_format = "%I:%M %p" self._mapper = mapper
def setup(self): mapper = DataClassMapper() mapper.date_format = "%m/%d/%y" self._mapper = mapper
def setup(self): mapper = DataClassMapper() mapper.datetime_format = "%m/%d/%y %H:%M:%S" self._mapper = mapper
def setup(self): self._mapper = DataClassMapper()