1import unittest 2from petsc4py import PETSc 3 4# -------------------------------------------------------------------- 5 6 7class TestVersion(unittest.TestCase): 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( 22 version, 23 ( 24 info['major'], 25 info['minor'], 26 info['subminor'], 27 ), 28 ) 29 self.assertTrue(isinstance(info['release'], bool)) 30 v, date = PETSc.Sys.getVersion(date=True) 31 self.assertEqual(date, info['date']) 32 33 def testGetSetDefaultComm(self): 34 c = PETSc.Sys.getDefaultComm() 35 self.assertEqual(c, PETSc.COMM_WORLD) 36 PETSc.Sys.setDefaultComm(PETSc.COMM_SELF) 37 c = PETSc.Sys.getDefaultComm() 38 self.assertEqual(c, PETSc.COMM_SELF) 39 PETSc.Sys.setDefaultComm(PETSc.COMM_WORLD) 40 c = PETSc.Sys.getDefaultComm() 41 self.assertEqual(c, PETSc.COMM_WORLD) 42 f = lambda: PETSc.Sys.setDefaultComm(PETSc.COMM_NULL) 43 self.assertRaises(ValueError, f) 44 45 46# -------------------------------------------------------------------- 47 48if __name__ == '__main__': 49 unittest.main() 50 51# -------------------------------------------------------------------- 52