Salome HOME
All getName method return std::string now
[tools/medcoupling.git] / src / MEDLoader / Swig / MEDLoaderTest.py
index 2e31afb65a94f19cf0f8a88dc7cb11096119bef5..149c40a26f88c6bd1a5e504dde31bb9505ea3b10 100644 (file)
@@ -1,5 +1,5 @@
 #  -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2012  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2013  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
@@ -17,6 +17,7 @@
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
+# Author : Anthony Geay (CEA/DEN)
 
 import MEDLoader
 import unittest
@@ -252,19 +253,19 @@ class MEDLoaderTest(unittest.TestCase):
         mesh1.setName("3DMesh_1");
         self.assertTrue(mesh1_2.isEqual(mesh1,1e-12));
         #
-        vec=["Family_4","Family_2"];
+        vec=["Family_-3","Family_-5"];
         mesh2_2=MEDLoader.MEDLoader.ReadUMeshFromFamilies(fileName,mnane,0,vec);
         mesh2_2.setName("mesh2");
         self.assertTrue(mesh2_2.isEqual(mesh2,1e-12));
         #
         ret=MEDLoader.MEDLoader.GetMeshFamiliesNamesOnGroup(fileName,"3DToto","3DMesh_1");
         self.assertEqual(4,len(ret));
-        self.assertEqual(ret[0],"Family_1");
-        self.assertEqual(ret[1],"Family_2");
-        self.assertEqual(ret[2],"Family_3");
-        self.assertEqual(ret[3],"Family_4");
+        self.assertEqual(ret[0],"Family_-2");
+        self.assertEqual(ret[1],"Family_-3");
+        self.assertEqual(ret[2],"Family_-4");
+        self.assertEqual(ret[3],"Family_-5");
         #
-        ret1=MEDLoader.MEDLoader.GetMeshGroupsNamesOnFamily(fileName,"3DToto","Family_2");
+        ret1=MEDLoader.MEDLoader.GetMeshGroupsNamesOnFamily(fileName,"3DToto","Family_-3");
         self.assertEqual(2,len(ret1));
         self.assertEqual(ret1[0],"3DMesh_1");
         self.assertEqual(ret1[1],"mesh2");
@@ -544,6 +545,22 @@ class MEDLoaderTest(unittest.TestCase):
         self.assertTrue(fs[2]=="Field3");
         self.assertTrue(fs[3]=="Field8");
         pass
+
+    def testBigNbOfCompoNonReg(self):
+        fileName="Pyfile57.med"
+        m=MEDLoader.MEDCouplingCMesh() ; m.setCoords(MEDLoader.DataArrayDouble([0,1,2,3]),MEDLoader.DataArrayDouble([0,1]),MEDLoader.DataArrayDouble([0,1]))
+        m=m.buildUnstructured() ; m.setName("TinyMesh")
+        f=MEDLoader.MEDCouplingFieldDouble(MEDLoader.ON_CELLS) ; f.setMesh(m)
+        nbOfCompo=4100
+        arr=MEDLoader.DataArrayDouble(nbOfCompo*3) ; arr.iota()
+        arr.rearrange(nbOfCompo)
+        arr.setInfoOnComponents(["c%i"%(i) for i in xrange(nbOfCompo)])
+        f.setArray(arr)
+        f.setName("FieldBigCompo")
+        MEDLoader.MEDLoader.WriteField(fileName,f,True)
+        f2=MEDLoader.MEDLoader.ReadFieldCell(fileName,m.getName(),0,f.getName(),-1,-1)
+        self.assertTrue(f.isEqual(f2,1e-12,1e-12))
+        pass
     pass
 
 unittest.main()