self.failUnless(up_to1<=size1*wordbitsize<allocated1*wordbitsize,"up_to1=%s, size1=%s, allocated1=%s while testing %s during %s"%(up_to1,size1*wordbitsize,allocated1*wordbitsize,intbitset1,msg))
tmp=intbitset(intbitset1.fastdump())
size2=tmp.get_size()
allocated2=tmp.get_allocated()
creator_list=tmp.extract_finite_list()
up_to2=creator_listandmax(creator_list)or-1
self.failUnless(up_to2<=size2*wordbitsize<allocated2*wordbitsize,"After serialization up_to2=%s, size2=%s, allocated2=%s while testing %s during %s"%(up_to2,size2*wordbitsize,allocated2*wordbitsize,intbitset1,msg))
self.assertEqual(set1&set(intbitset1.extract_finite_list(up_to)),set(intbitset1.extract_finite_list(up_to)),"%s not equal to %s after executing %s(%s, %s)"%(set1,set(intbitset1.extract_finite_list(up_to)),fncs[0].__name__,repr(orig1),repr(orig2)))
self.assertEqual(set1|set(intbitset1.extract_finite_list(up_to)),set1,"%s not equal to %s after executing %s(%s, %s)"%(set1,set(intbitset1.extract_finite_list(up_to)),fncs[0].__name__,repr(orig1),repr(orig2)))
self.assertEqual(trailing1,intbitset1.is_infinite(),"%s is not %s as it is supposed to be after executing %s(%s, %s)"%(intbitset1,trailing1and'infinite'or'finite',fncs[0].__name__,repr(orig1),repr(orig2)))
else:
self._helper_sanity_test(intbitset3,msg)
self.assertEqual(set3&set(intbitset3.extract_finite_list(up_to)),set(intbitset3.extract_finite_list(up_to)),"%s not equal to %s after executing %s(%s, %s)"%(set3,set(intbitset3.extract_finite_list(up_to)),fncs[0].__name__,repr(orig1),repr(orig2)))
self.assertEqual(set3|set(intbitset3.extract_finite_list(up_to)),set3,"%s not equal to %s after executing %s(%s, %s)"%(set3,set(intbitset3.extract_finite_list(up_to)),fncs[0].__name__,repr(orig1),repr(orig2)))
self.assertEqual(trailing3,intbitset3.is_infinite(),"%s is not %s as it is supposed to be after executing %s(%s, %s)"%(intbitset3,trailing3and'infinite'or'finite',fncs[0].__name__,repr(orig1),repr(orig2)))
self.assertEqual(op[0](intbitset(set1),intbitset(set2)),op[1](set(set1),set(set2)),"Error in comparing %s%s with comparing function %s"%(set1,set2,op[0].__name__))