def _test_backward_compatible(self, model_class, object_pk): '''Ensure new serialization method to generate same data''' base_object = model_class.objects.get(pk=object_pk) sample_result = model_class.to_xmlrpc(query={'pk': object_pk})[0] base_result = XMLRPCSerializer(model=base_object).serialize_model() sample_fields = [name for name in sample_result.keys()] base_fields = [name for name in base_result.keys()] # Ensure fields are same. test_result = list(set(sample_fields) - set(base_fields)) self.assertEqual(test_result, []) test_result = list(set(base_fields) - set(sample_fields)) self.assertEqual(test_result, []) # Ensure values are same. for sample_field, sample_value in sample_result.iteritems(): self.assertEqual(sample_value, base_result[sample_field])