@@ -37,9 +37,6 @@ def func(i, j):
3737 lmaxmin = pkr .LazyPick (func , self .n , self .m , (886 , 112 ))
3838 self .assertEqual (list (lmaxmin ), list (maxmin ))
3939
40- lmaxmin = pkr .LazyPick (func , self .n , self .m , (886 , 112 ), useCache = False )
41- self .assertEqual (list (lmaxmin ), list (maxmin ))
42-
4340 self .assertRaises (ValueError , lambda : pkr .Pick (self .dMat , self .n , self .m , (1012 , )))
4441 self .assertRaises (ValueError , lambda : pkr .Pick (self .dMat , self .n , self .m , (- 1 , )))
4542
@@ -124,21 +121,22 @@ def taniFunc(i, j, bvs=vs):
124121 return d
125122
126123 picker = rdSimDivPickers .MaxMinPicker ()
127- mm1 = picker .LazyPick (taniFunc , len (vs ), N )
124+ mm1 = picker .LazyPick (taniFunc , len (vs ), N , seed = 0xf00d )
128125 self .assertEqual (len (mm1 ), N )
129126 picker = None
130127
131128 picker = rdSimDivPickers .MaxMinPicker ()
132- mm2 = picker .LazyBitVectorPick (vs , len (vs ), N )
129+ mm2 = picker .LazyBitVectorPick (vs , len (vs ), N , seed = 0xf00d )
133130 self .assertEqual (len (mm2 ), N )
134131
135132 picker = rdSimDivPickers .MaxMinPicker ()
136- mm3 = picker .LazyBitVectorPick (vs , len (vs ), N )
133+ mm3 = picker .LazyBitVectorPick (vs , len (vs ), N , seed = 0xf00d + 1 )
137134 self .assertEqual (len (mm3 ), N )
138135
139- # we get the occasional dupe randomly,
140- # make sure we don't get three dupes in a row
141- self .assertTrue (tuple (mm2 ) != tuple (mm1 )) or (tuple (mm3 ) != tuple (mm1 ))
136+ # LazyPick and LazyBitVectorPick should return the same results for the same seed
137+ self .assertEqual (tuple (mm2 ), tuple (mm1 ))
138+ # different seeds give different picks here:
139+ self .assertNotEqual (tuple (mm3 ), tuple (mm1 ))
142140 picker = None
143141
144142 ds = []
@@ -173,18 +171,10 @@ def func(i, j, bvs=vs):
173171 mm1 = picker .LazyPick (func , len (vs ), N , seed = 42 )
174172 self .assertEqual (len (mm1 ), N )
175173
176- mm2 = picker .LazyPick (func , len (vs ), N , useCache = False , seed = 42 )
177- self .assertEqual (len (mm2 ), N )
178- self .assertEqual (list (mm1 ), list (mm2 ))
179-
180174 mm2 = picker .LazyBitVectorPick (vs , len (vs ), N , seed = 42 )
181175 self .assertEqual (len (mm2 ), N )
182176 self .assertEqual (list (mm1 ), list (mm2 ))
183177
184- mm2 = picker .LazyBitVectorPick (vs , len (vs ), N , useCache = False , seed = 42 )
185- self .assertEqual (len (mm2 ), N )
186- self .assertEqual (list (mm1 ), list (mm2 ))
187-
188178 def testBitVectorMaxMin2 (self ):
189179 fps = [
190180 "11110010101000000000" , "00000000000010010000" , "11001010000000000001" ,
@@ -228,10 +218,6 @@ def testBitVectorMaxMin2(self):
228218 self .assertEqual (len (mm1 ), N )
229219 self .assertEqual (list (mm1 ), [37 , 1 , 43 , 38 , 16 ])
230220
231- mm2 = picker .LazyBitVectorPick (fps , len (fps ), N , useCache = False , seed = 42 )
232- self .assertEqual (len (mm2 ), N )
233- self .assertEqual (list (mm1 ), list (mm2 ))
234-
235221 def testBitVectorMaxMin3 (self ):
236222 fname = os .path .join (RDConfig .RDBaseDir , 'Code' , 'SimDivPickers' , 'Wrap' , 'test_data' ,
237223 'chembl_cyps.head.fps' )
0 commit comments