def test3Pickle1(self): """ """ l = 1 << 42 v1 = ds.LongSparseIntVect(l) self.assertRaises(IndexError, lambda: v1[l + 1]) v1[0] = 1 v1[2] = 2 v1[1 << 35] = 3 self.assertTrue(v1 == v1) v2 = pickle.loads(pickle.dumps(v1)) self.assertTrue(v2 == v1) v3 = ds.LongSparseIntVect(v2.ToBinary()) self.assertTrue(v2 == v3) self.assertTrue(v1 == v3) #pickle.dump(v1,file('lsiv.pkl','wb+')) with open(os.path.join(RDConfig.RDBaseDir, 'Code/DataStructs/Wrap/testData/lsiv.pkl'), 'r') as tf: buf = tf.read().replace('\r\n', '\n').encode('utf-8') tf.close() with io.BytesIO(buf) as f: v3 = pickle.load(f) self.assertTrue(v3 == v1)
def test3Pickle1(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) #cPickle.dump(v1,file('lsiv.pkl','wb+')) v3 = cPickle.load( file( os.path.join(RDConfig.RDBaseDir, 'Code/DataStructs/Wrap/testData/lsiv.pkl'), 'rb')) self.failUnless(v3 == v1)
def testTorsionValues(self): import base64 testD=(('CCCO',b'AQAAAAgAAAD/////DwAAAAEAAAAAAAAAIECAAAMAAAABAAAA\n'), ('CNc1ccco1',b'AQAAAAgAAAD/////DwAAAAkAAAAAAAAAIICkSAEAAAABAAAAKVKgSQEAAAABAAAAKVCgUAEAAAAB\nAAAAKVCgUQEAAAABAAAAKVCkCAIAAAABAAAAKdCkCAIAAAABAAAAKVCgSAMAAAABAAAAKVCkSAMA\nAAABAAAAIICkSAMAAAABAAAA\n'), ) for smi,txt in testD: pkl = base64.decodestring(txt) fp = rdMD.GetTopologicalTorsionFingerprint(Chem.MolFromSmiles(smi)) fp2 = DataStructs.LongSparseIntVect(pkl) self.assertEqual(DataStructs.DiceSimilarity(fp,fp2),1.0) self.assertEqual(fp,fp2)
def test2Long(self): """ """ l = 1 << 42 v1 = ds.LongSparseIntVect(l) self.assertRaises(IndexError, lambda: v1[l]) v1[0] = 1 v1[2] = 2 v1[1 << 35] = 3 self.assertTrue(v1 == v1) self.assertTrue(v1.GetLength() == l) v2 = ds.LongSparseIntVect(l) self.assertTrue(v1 != v2) v2 |= v1 self.assertTrue(v2 == v1) v3 = v2 | v1 self.assertTrue(v3 == v1) onVs = v1.GetNonzeroElements() self.assertTrue(onVs == {0: 1, 2: 2, 1 << 35: 3})
def test2Long(self): """ """ l = 1L << 42 v1 = ds.LongSparseIntVect(l) self.failUnlessRaises(IndexError, lambda: v1[l]) v1[0] = 1 v1[2] = 2 v1[1L << 35] = 3 self.failUnless(v1 == v1) self.failUnless(v1.GetLength() == l) v2 = ds.LongSparseIntVect(l) self.failUnless(v1 != v2) v2 |= v1 self.failUnless(v2 == v1) v3 = v2 | v1 self.failUnless(v3 == v1) onVs = v1.GetNonzeroElements() self.failUnless(onVs == {0L: 1, 2L: 2, 1L << 35: 3})