def test_deserialize_using_serialized_property_getter(self): a_and_b = { "ab": [self.simple_model.a, self.simple_model.b] } mappings = [JsonPropertyMapping(None, "a", json_property_getter=lambda json_as_dict: json_as_dict["ab"][0]), JsonPropertyMapping(None, "b", json_property_getter=lambda json_as_dict: json_as_dict["ab"][1])] deserializer = SimpleModelDeserializer(mappings) self.assertEqual(deserializer.deserialize(a_and_b), self.simple_model)
def test_deserialize_none(self): deserializer = SimpleModelDeserializer() self.assertIsNone(deserializer.deserialize(None))
def test_deserialize_optional_when_set(self): mappings = [JsonPropertyMapping("serialized_a", "a", optional=True), JsonPropertyMapping("serialized_b", "b", optional=True)] deserializer = SimpleModelDeserializer(mappings) self.assertEqual(deserializer.deserialize(self.simple_model_as_json), self.simple_model)
def test_deserialize_optional_when_not_set(self): mappings = [JsonPropertyMapping("serialized_a", "a", optional=True), JsonPropertyMapping("serialized_b", "b", optional=True)] deserializer = SimpleModelDeserializer(mappings) self.assertEqual(deserializer.deserialize({}), SimpleModel())
def test_deserialize_using_constructor_parameter_with_modifier(self): mappings = [JsonPropertyMapping("serialized_a", "a", object_constructor_parameter_name="constructor_b", object_constructor_argument_modifier=lambda value: value + 1)] deserializer = SimpleModelDeserializer(mappings) model = SimpleModel(self.simple_model_as_json["serialized_a"] + 1) self.assertEqual(deserializer.deserialize(self.simple_model_as_json), model)
def test_deserialize_using_constructor_parameter(self): mappings = [JsonPropertyMapping("serialized_a", "a"), JsonPropertyMapping("serialized_b", object_constructor_parameter_name="constructor_b")] deserializer = SimpleModelDeserializer(mappings) self.assertEqual(deserializer.deserialize(self.simple_model_as_json), self.simple_model)
def test_deserialize_using_names(self): mappings = [JsonPropertyMapping("serialized_a", "a"), JsonPropertyMapping("serialized_b", "b")] deserializer = SimpleModelDeserializer(mappings) self.assertEqual(deserializer.deserialize(self.simple_model_as_json), self.simple_model)
def test_deserialize_with_no_mapping(self): mappings = [PropertyMapping()] deserializer = SimpleModelDeserializer(mappings) self.simple_model.a = None self.simple_model.b = None self.assertEqual(deserializer.deserialize(self.simple_model_as_json), self.simple_model)