[Python-checkins] python/dist/src/Lib/test test_random.py,1.11,1.12

rhettinger@users.sourceforge.net rhettinger@users.sourceforge.net
Tue, 24 Jun 2003 13:29:06 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1:/tmp/cvs-serv2903/test

Modified Files:
	test_random.py 
Log Message:
SF bug #759889:  Pickling of Random is broken

* Implement __reduce__() to support pickling.
* Add a test case to prove a successful roundtrip through pickle.



Index: test_random.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_random.py,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** test_random.py	3 May 2003 03:38:01 -0000	1.11
--- test_random.py	24 Jun 2003 20:29:04 -0000	1.12
***************
*** 4,7 ****
--- 4,8 ----
  import random
  import time
+ import pickle
  from math import log, exp, sqrt, pi
  from sets import Set
***************
*** 103,106 ****
--- 104,113 ----
              self.assertEqual(y1, y2)
  
+     def test_pickling(self):
+         state = pickle.dumps(self.gen)
+         origseq = [self.gen.random() for i in xrange(10)]
+         newgen = pickle.loads(state)
+         restoredseq = [newgen.random() for i in xrange(10)]
+         self.assertEqual(origseq, restoredseq)
  
  class WichmannHill_TestBasicOps(TestBasicOps):