def test_serialize_using_serialized_property_setter(self):
        def serialized_property_setter(container: Dict, value: Dict):
            container["augmented_key_%s" % value] = value

        mappings = [JsonPropertyMapping(None, "b", json_property_setter=serialized_property_setter)]
        serializer = ComplexModelSerializer(mappings)
        self.assertDictEqual(serializer.serialize(self.complex_model), {"augmented_key_5": 5})
    def test_serialize_using_serializer_cls(self):
        def serialized_property_setter_for_d(container: Dict, value: Dict):
            container["serialized_d"] = value

        mappings = [PropertyMapping("d", serialized_property_setter=serialized_property_setter_for_d,
                                    serializer_cls=SimpleModelSerializer)]
        serializer = ComplexModelSerializer(mappings)

        complex_model = self.complex_model
        expected = {"serialized_d": [{
            "serialized_a": i,
            "serialized_b": complex_model.b + i
        } for i in range(len(complex_model.d))]}
        self.assertDictEqual(serializer.serialize(complex_model), expected)