1import unittest 2from petsc4py import PETSc 3 4# -------------------------------------------------------------------- 5 6class TestVersion(unittest.TestCase): 7 8 def testGetVersion(self): 9 version = PETSc.Sys.getVersion() 10 self.assertTrue(version > (0, 0, 0)) 11 v, date = PETSc.Sys.getVersion(date=True) 12 self.assertTrue(version == v) 13 self.assertTrue(isinstance(date, str)) 14 v, author = PETSc.Sys.getVersion(author=True) 15 self.assertTrue(version == v) 16 self.assertTrue(isinstance(author, (list,tuple))) 17 18 def testGetVersionInfo(self): 19 version = PETSc.Sys.getVersion() 20 info = PETSc.Sys.getVersionInfo() 21 self.assertEqual(version, 22 (info['major'], 23 info['minor'], 24 info['subminor'],)) 25 self.assertTrue(isinstance(info['release'], bool)) 26 v, date = PETSc.Sys.getVersion(date=True) 27 self.assertEqual(date, info['date']) 28 29 def testGetSetDefaultComm(self): 30 c = PETSc.Sys.getDefaultComm() 31 self.assertEqual(c, PETSc.COMM_WORLD) 32 PETSc.Sys.setDefaultComm(PETSc.COMM_SELF) 33 c = PETSc.Sys.getDefaultComm() 34 self.assertEqual(c, PETSc.COMM_SELF) 35 PETSc.Sys.setDefaultComm(PETSc.COMM_WORLD) 36 c = PETSc.Sys.getDefaultComm() 37 self.assertEqual(c, PETSc.COMM_WORLD) 38 f = lambda : PETSc.Sys.setDefaultComm(PETSc.COMM_NULL) 39 self.assertRaises(ValueError, f) 40 41# -------------------------------------------------------------------- 42 43if __name__ == '__main__': 44 unittest.main() 45 46# -------------------------------------------------------------------- 47