From: <bao...@us...> - 2006-04-03 20:09:53
|
Revision: 52 Author: baoilleach Date: 2006-04-03 13:09:44 -0700 (Mon, 03 Apr 2006) ViewCVS: http://svn.sourceforge.net/cclib/?rev=52&view=rev Log Message: ----------- Added tests for looking at the energies of the homo/lumo. These values don't at all agree across packages - is this a program with units or what? Modified Paths: -------------- trunk/test/testall.py Modified: trunk/test/testall.py =================================================================== --- trunk/test/testall.py 2006-04-03 16:16:04 UTC (rev 51) +++ trunk/test/testall.py 2006-04-03 20:09:44 UTC (rev 52) @@ -2,31 +2,32 @@ from cclib.parser import GAMESS,G03,ADF from Numeric import array -class GenericTest(unittest.TestCase): +class GenericGeoOptTest(unittest.TestCase): def testhomos(self): + """Is the index of the homo equal to 34?""" self.assertEquals(self.data.homos,array([34])) def testnatom(self): + """Is the number of atoms equal to 20?""" self.assertEquals(self.data.natom,20) def testnbasis(self): + """Is the number of basis set function equal to 60?""" self.assertEquals(self.data.nbasis,60) def testscfenergy(self): + """Is the SCF energy within 3eV(?) of -382.3?""" self.assert_(self.data.scfenergies[-1]+382.3<3) - def testhomoenergy(self): - self.assert_(self.data.moenergies[0,self.data.homos[0]]+4.165<0.5,"HOMO energy is %f (for G03 it's -4.165)" % self.data.moenergies[0,self.data.homos[0]]) - -class GaussianTest(GenericTest): +class GaussianGeoOptTest(GenericGeoOptTest): def setUp(self): self.data = getfile(G03,"basicGaussian03","dvb_gopt.out") -class GamessTest(GenericTest): +class GamessGeoOptTest(GenericGeoOptTest): def setUp(self): self.data = getfile(GAMESS,"basicPCGAMESS","dvb_gopt_a.out") -class ADFTest(GenericTest): +class ADFGeoOptTest(GenericGeoOptTest): def setUp(self): self.data = getfile(ADF,"basicADF2004.01","dvb_gopt.adfout") @@ -43,12 +44,26 @@ def visualtests(): """These are not formal tests -- but they should be eyeballed.""" - pass + logfiles = [ getfile(G03,"basicGaussian03","dvb_gopt.out"), + getfile(GAMESS,"basicPCGAMESS","dvb_gopt_a.out"), + getfile(ADF,"basicADF2004.01","dvb_gopt.adfout") ] + + print "\n\nMO energies of optimised dvb" + print " ","".join(["%7s" % x for x in ['Gaussian','GAMESS','ADF']]) + print "HOMO", " ".join(["%+2.4f" % x.moenergies[0,x.homos[0]] for x in logfiles]) + print "LUMO", " ".join(["%+2.4f" % x.moenergies[0,x.homos[0]+1] for x in logfiles]) + print "H-L ", " ".join(["%2.4f" % (x.moenergies[0,x.homos[0]+1]-x.moenergies[0,x.homos[0]],) for x in logfiles]) if __name__=="__main__": - gaussiantests = unittest.makeSuite(GaussianTest) - gamesstests = unittest.makeSuite(GamessTest) - adftests = unittest.makeSuite(ADFTest) - alltests = unittest.TestSuite((gaussiantests,gamesstests,adftests)) - unittest.TextTestRunner(verbosity=2).run(alltests) + gaussiantests = unittest.makeSuite(GaussianGeoOptTest) + gamesstests = unittest.makeSuite(GamessGeoOptTest) + adftests = unittest.makeSuite(ADFGeoOptTest) + print "\n*** Testing Gaussian dvb_gopt.out ***" + unittest.TextTestRunner(verbosity=2).run(gaussiantests) + print "\n\n*** Testing GAMESS dvb_gopt_a.out ***" + unittest.TextTestRunner(verbosity=2).run(gamesstests) + print "\n\n*** Testing ADF dvb_gopt.adfout ***" + unittest.TextTestRunner(verbosity=2).run(adftests) + print "\n\n*** Visual tests ***" + visualtests() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |