import unittest | |
import pickle | |
from common import MTurkCommon | |
class TestHITPersistence(MTurkCommon): | |
def create_hit_result(self): | |
return self.conn.create_hit( | |
question=self.get_question(), **self.get_hit_params() | |
) | |
def test_pickle_hit_result(self): | |
result = self.create_hit_result() | |
new_result = pickle.loads(pickle.dumps(result)) | |
def test_pickle_deserialized_version(self): | |
""" | |
It seems the technique used to store and reload the object must | |
result in an equivalent object, or subsequent pickles may fail. | |
This tests a double-pickle to elicit that error. | |
""" | |
result = self.create_hit_result() | |
new_result = pickle.loads(pickle.dumps(result)) | |
pickle.dumps(new_result) | |
if __name__ == '__main__': | |
unittest.main() |