Salome HOME
Copyright update 2022
[tools/medcoupling.git] / src / MEDLoader / Swig / MEDLoaderTest4.py
index 2086d759003aa8f0381586361c919aa3767fa4e6..1e4cb28104a70f03d748abfd9cccc8d1f938ff6e 100644 (file)
@@ -1,5 +1,5 @@
 #  -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2019  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2022  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -1253,6 +1253,7 @@ class MEDLoaderTest4(unittest.TestCase):
         a0Exp.setInfoOnComponents(["XX [m]","YYY [km]"])
         m.setCoords(a0Exp)
         mm=MEDFileCurveLinearMesh() ; mm.setMesh(m)
+        self.assertEqual(mm.getSpaceDimension(), m.getSpaceDimension())
         fam=DataArrayInt(8) ; fam.iota(0) ; mm.setFamilyFieldArr(0,fam) ; del fam
         num=DataArrayInt(8) ; num.iota(100) ; mm.setRenumFieldArr(0,num) ; del num
         #
@@ -5626,6 +5627,25 @@ class MEDLoaderTest4(unittest.TestCase):
             self.assertTrue(v.isEqual(DataArrayDouble([0.0]),1e-14))
         pass
 
+    @WriteInTmpDir
+    def test43(self):
+        """
+        EDF23724 : point to error during 64bit convertion into medcoupling a DataArrayMedInt class was created.
+                   This class is not dynamic_castable to DataArrayInt32 nor DataArrayInt64. It lead previously to strange behaviour
+        """
+        fname = "tessss.med"
+        arr=DataArrayDouble(10) ; arr.iota()
+        m = MEDCouplingCMesh() ; m.setCoords(arr)
+        m = m.buildUnstructured()
+        m.setName("mesh")
+        mm = MEDFileUMesh() ; mm[0] = m
+        mm.setGlobalNumFieldAtLevel(1,DataArrayInt([0,4,5,6,10,12,16,17,19,20]))
+        mm.write(fname,2)
+        mm_reload = MEDFileMesh.New(fname)
+        # DataArrayMedInt class no more exists. Check that.
+        self.assertNotEqual(mm_reload.getGlobalNumFieldAtLevel(1).getClassName() , "DataArrayMedInt")
+        pass
+
     pass
 
 if __name__ == "__main__":