def test_build_with_superclass(self): SimpleModelJSONEncoder = MappingJSONEncoderClassBuilder( SimpleModel, get_simple_model_json_property_mappings()).build() encoder_builder = MappingJSONEncoderClassBuilder() encoder_builder.target_cls = ComplexModel encoder_builder.mappings = get_complex_model_json_property_mappings() encoder_builder.superclasses = (SimpleModelJSONEncoder, ) encoder_cls = encoder_builder.build() encoder = encoder_cls() # type: MappingJSONEncoder encoded = encoder.default(self.complex_model) self.assertDictEqual(encoded, self.complex_model_as_json)
def test_build_with_superclass(self): SimpleModelJSONDecoder = MappingJSONDecoderClassBuilder( target_cls=SimpleModel, mappings=get_simple_model_json_property_mappings()).build() decoder_builder = MappingJSONDecoderClassBuilder() decoder_builder.superclasses = (SimpleModelJSONDecoder, ) decoder_builder.target_cls = ComplexModel decoder_builder.mappings = get_complex_model_json_property_mappings() decoder_cls = decoder_builder.build() decoder = decoder_cls() # type: MappingJSONDecoder decoded = decoder.decode(json.dumps(self.complex_model_as_json)) self.assertEqual(decoded, self.complex_model)