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)