Files
rdkit/Code/DataStructs/Wrap/testSparseIntVect.py
Greg Landrum 1fa8cd321b add SparseIntVect in both c++ and Python
This still needs windows testing.
2007-09-22 18:49:37 +00:00

74 lines
1.2 KiB
Python

import RDConfig
import os,sys,cPickle
import unittest
import DataStructs as ds
class TestCase(unittest.TestCase):
def setUp(self) :
pass
def test1Int(self):
"""
"""
v1 = ds.IntSparseIntVect(5)
self.failUnlessRaises(IndexError,lambda:v1[6])
v1[0]=1
v1[2]=2
v1[3]=3
self.failUnless(v1==v1)
v2= ds.IntSparseIntVect(5)
self.failUnless(v1!=v2)
v2|=v1
self.failUnless(v2==v1)
v3=v2|v1
self.failUnless(v3==v1)
def test2Long(self):
"""
"""
l=1L<<42
v1 = ds.LongSparseIntVect(l)
self.failUnlessRaises(IndexError,lambda:v1[l+1])
v1[0]=1
v1[2]=2
v1[1L<<35]=3
self.failUnless(v1==v1)
v2= ds.LongSparseIntVect(l)
self.failUnless(v1!=v2)
v2|=v1
self.failUnless(v2==v1)
v3=v2|v1
self.failUnless(v3==v1)
def test3Pickle(self):
"""
"""
l=1L<<42
v1 = ds.LongSparseIntVect(l)
self.failUnlessRaises(IndexError,lambda:v1[l+1])
v1[0]=1
v1[2]=2
v1[1L<<35]=3
self.failUnless(v1==v1)
v2= cPickle.loads(cPickle.dumps(v1))
self.failUnless(v2==v1)
v3= ds.LongSparseIntVect(v2.ToBinary())
self.failUnless(v2==v3)
self.failUnless(v1==v3)
if __name__ == '__main__':
unittest.main()