Files
openbabel/scripts/python/test/test.py
2006-03-16 10:18:36 +00:00

38 lines
1.4 KiB
Python

import pyopenbabel as pob
import openbabel as ob
def testwrapper():
"""Test how well the wrapper is wrapped."""
print "\n******* How well does pyopenbabel wrap openbabel? *********\n\n"
print "*** Atom methods ***\n"
getmethods = set([x for x in ob.OBAtom.__dict__.keys() if x.startswith("Get")])
wrapped = set(pob.Atom._getmethods.values())
print "(1) 'Get methods' wrapped by SWIG and included in pyopenbabel:",sorted(getmethods & wrapped)
print "\n(2) 'Get methods' wrapped by SWIG but not in pyopenbabel:",sorted(getmethods-wrapped)
print "\n(3) Mistakes: 'Get methods' in pyopenbabel but not in SWIG:",sorted(wrapped-getmethods)
print "\n\n*** Molecule methods ***\n"
getmethods = set([x for x in ob.OBMol.__dict__.keys() if x.startswith("Get")])
wrapped = set(pob.Molecule._getmethods.values())
print "(1) 'Get methods' wrapped by SWIG and included in pyopenbabel:",sorted(getmethods & wrapped)
print "\n(2) 'Get methods' wrapped by SWIG but not in pyopenbabel:",sorted(getmethods-wrapped)
print "\n(3) Mistakes: 'Get methods' in pyopenbabel but not in SWIG:",sorted(wrapped-getmethods)
def testsd(sdfile):
"""Read in an sdfile."""
sd = open(sdfile,"r").read()
mol = pob.readstring("sd",sd)
for x,y in mol.__dict__.iteritems():
print x,y
if __name__=="__main__":
# testwrapper()
testsd("3d.head.sdf")