]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
[#spns_40523] improve test of .mesh format writing spns_40523_family_cells 11/head
authorChristophe Bourcier <christophe.bourcier@cea.fr>
Thu, 23 May 2024 14:35:42 +0000 (16:35 +0200)
committerChristophe Bourcier <christophe.bourcier@cea.fr>
Thu, 23 May 2024 14:35:42 +0000 (16:35 +0200)
src/MEDLoader/MeshFormatWriter.cxx
src/MEDLoader/Swig/MEDWriterTest1.py [deleted file]
src/MEDLoader/Swig/MEDWriterTest1.py.txt [deleted file]
src/MEDLoader/Swig/MeshFormatWriterTest1.py [new file with mode: 0644]
src/MEDLoader/Swig/tests.set

index 439cfa730ff9014d30311383d3271594bb676f0e..1ac57b20f595c05388630378cd0d7108146f0c57 100644 (file)
@@ -76,12 +76,12 @@ void MeshFormatWriter::setMEDFileDS(MEDCoupling::MEDFileData* mfd)
 
     if (fields)
     {
-    for (int i = 0; i<fields->getNumberOfFields(); i++ )
-    {
-        MEDCoupling::MEDFileAnyTypeFieldMultiTS* field = fields->getFieldAtPos(i);
-        MEDCoupling::MEDFileFieldMultiTS * f = dynamic_cast<MEDCoupling::MEDFileFieldMultiTS *>(field);
-        _fields.push_back(f);
-    }
+      for (int i = 0; i<fields->getNumberOfFields(); i++ )
+      {
+          MEDCoupling::MEDFileAnyTypeFieldMultiTS* field = fields->getFieldAtPos(i);
+          MEDCoupling::MEDFileFieldMultiTS * f = dynamic_cast<MEDCoupling::MEDFileFieldMultiTS *>(field);
+          _fields.push_back(f);
+      }
     }
 
 }
diff --git a/src/MEDLoader/Swig/MEDWriterTest1.py b/src/MEDLoader/Swig/MEDWriterTest1.py
deleted file mode 100644 (file)
index 807c0c8..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-#  -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2024  CEA, EDF
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-
-from MEDLoader import *
-import unittest
-from MEDLoaderDataForTest import MEDLoaderDataForTest,WriteInTmpDir
-
-
-class MEDWriterTest1(unittest.TestCase):
-    @WriteInTmpDir
-    def testMesh1D(self):
-        # setup
-        mesh=MEDLoaderDataForTest.build1DMesh_1();
-        mesh.checkConsistencyLight();
-        meshMEDFile = MEDFileUMesh()
-        meshMEDFile.setMeshAtLevel(0, mesh)
-        # create groups
-        grp0 = DataArrayInt([0, 1])
-        grp0.setName("grp0")
-        grp1 = DataArrayInt([0, 1, 2])
-        grp1.setName("grp1")
-        meshMEDFile.setGroupsAtLevel(0,[grp0, grp1])
-        # write mesh file
-        ms=MEDFileMeshes()
-        ms.pushMesh(meshMEDFile)
-        medFileData = MEDFileData()
-        medFileData.setMeshes(ms)
-        tmpMeshWriter = MeshFormatWriter()
-        tmpMeshWriter.setMeshFileName("Meshfile")
-        tmpMeshWriter.setMEDFileDS(medFileData)
-        meshMEDFile.write("/tmp/Mesh1D.med",2)
-        # Read MEDFile and test equality
-        meshMEDFileRead = MEDFileMesh.New("/tmp/Mesh1D.med") 
-        # assert groups
-        self.assertEqual(meshMEDFileRead.getGroupArr(0,"grp0").getValues(), [0, 1])
-        self.assertEqual(meshMEDFileRead.getGroupArr(0,"grp1").getValues(), [0, 1, 2])
-
-class MEDWriterTest2(unittest.TestCase):
-    @WriteInTmpDir
-    def testMesh2D(self):
-        # setup
-        mesh=MEDLoaderDataForTest.build2DCurveMesh_1();
-        mesh.checkConsistencyLight();
-        meshMEDFile = MEDFileUMesh()
-        meshMEDFile.setMeshAtLevel(0, mesh)
-        # create groups
-        grp0 = DataArrayInt([0, 3])
-        grp0.setName("grp0")
-        grp1 = DataArrayInt([0, 1, 3, 2])
-        grp1.setName("grp1")
-        meshMEDFile.setGroupsAtLevel(0,[grp0, grp1])
-        # write mesh file
-        ms=MEDFileMeshes()
-        ms.pushMesh(meshMEDFile)
-        medFileData = MEDFileData()
-        medFileData.setMeshes(ms)
-        tmpMeshWriter = MeshFormatWriter()
-        tmpMeshWriter.setMeshFileName("Meshfile")
-        tmpMeshWriter.setMEDFileDS(medFileData)
-        meshMEDFile.write("/tmp/Mesh2D.med",2)
-        # Read MEDFile and test equality
-        meshMEDFileRead = MEDFileMesh.New("/tmp/Mesh2D.med") 
-        # assert groups
-        self.assertEqual(meshMEDFileRead.getGroupArr(0,"grp0").getValues(), [0, 3])
-        self.assertEqual(meshMEDFileRead.getGroupArr(0,"grp1").getValues(), [0, 1, 2, 3])
-        
-class MEDWriterTest3(unittest.TestCase):
-    @WriteInTmpDir
-    def testMesh3D(self):
-        # setup
-        mesh=MEDLoaderDataForTest.build3DMesh_1();
-        mesh.checkConsistencyLight();
-        meshMEDFile = MEDFileUMesh()
-        meshMEDFile.setMeshAtLevel(0, mesh)
-        # create groups
-        grp0 = DataArrayInt([0, 1])
-        grp0.setName("grp0")
-        grp1 = DataArrayInt([0, 5, 7, 8])
-        grp1.setName("grp1")
-        meshMEDFile.setGroupsAtLevel(0,[grp0, grp1])
-        # write mesh file
-        ms=MEDFileMeshes()
-        ms.pushMesh(meshMEDFile)
-        medFileData = MEDFileData()
-        medFileData.setMeshes(ms)
-        tmpMeshWriter = MeshFormatWriter()
-        tmpMeshWriter.setMeshFileName("Meshfile")
-        tmpMeshWriter.setMEDFileDS(medFileData)
-        meshMEDFile.write("/tmp/Mesh3D.med",2)
-        # Read MEDFile and test equality
-        meshMEDFileRead = MEDFileMesh.New("/tmp/Mesh3D.med") 
-        # assert groups
-        self.assertEqual(meshMEDFileRead.getGroupArr(0,"grp0").getValues(), [0, 1])
-        self.assertEqual(meshMEDFileRead.getGroupArr(0,"grp1").getValues(), [0, 5, 7, 8])
-        
-        
-
-
-if __name__ == '__main__':
-    unittest.main()
\ No newline at end of file
diff --git a/src/MEDLoader/Swig/MEDWriterTest1.py.txt b/src/MEDLoader/Swig/MEDWriterTest1.py.txt
deleted file mode 100644 (file)
index 6593a2e..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#  -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2024  CEA, EDF
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-# Author : Anthony Geay (CEA/DEN)
-
-from MEDLoader import *
-import unittest
-from MEDLoaderDataForTest import MEDLoaderDataForTest,WriteInTmpDir
-
-
-class MEDWriterTest1(unittest.TestCase):
-    @WriteInTmpDir
-    def testMesh1D(self):
-        # setup
-        mesh=MEDLoaderDataForTest.build1DMesh_1();
-        mesh.checkConsistencyLight();
-
-        meshMEDFile = MEDFileUMesh()
-        meshMEDFile.setMeshAtLevel(0,mesh)
-        # create groups
-        grp0 = DataArrayInt([0,1])
-        grp0.setName("grp0")
-        grp1 = DataArrayInt([0,1,2])
-        grp1.setName("grp1")
-        grp2 = DataArrayInt([1,2,3])
-        grp2.setName("grp2")
-        meshMEDFile.setGroupsAtLevel(0,[grp0,grp1,grp2])
-        
-        ms=MEDFileMeshes()
-        ms.pushMesh(meshMEDFile)
-        
-        medFileData = MEDFileData()
-        medFileData.setMeshes(ms)
-
-        tmpMeshWriter = MeshFormatWriter()
-        tmpMeshWriter.setMeshFileName("Meshfile")
-        tmpMeshWriter.setMEDFileDS(medFileData)
-        
-
-        # meshMEDFile.write("/tmp/Mesh2.med",2)
-        # # Read MEDFile and test equality
-        # meshMEDFileRead = MEDFileMesh.New("/tmp/Mesh2.med") 
-        # # assert groups
-        # self.assertEqual(meshMEDFileRead.getGroupArr(0,"grp0").getValues(), [0,1]);
-
-
-if __name__ == '__main__':
-    unittest.main()
\ No newline at end of file
diff --git a/src/MEDLoader/Swig/MeshFormatWriterTest1.py b/src/MEDLoader/Swig/MeshFormatWriterTest1.py
new file mode 100644 (file)
index 0000000..a94d592
--- /dev/null
@@ -0,0 +1,91 @@
+#  -*- coding: iso-8859-1 -*-
+# Copyright (C) 2007-2024  CEA, EDF
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+from MEDLoader import *
+import unittest
+from MEDLoaderDataForTest import MEDLoaderDataForTest,WriteInTmpDir
+
+class MeshFormatWriterTest2(unittest.TestCase):
+    @WriteInTmpDir
+    def testMesh2D(self):
+        # setup
+        mesh=MEDLoaderDataForTest.build2DMesh_2();
+        mesh.checkConsistencyLight();
+        meshMEDFile = MEDFileUMesh()
+        meshMEDFile.setMeshAtLevel(0, mesh)
+        # create groups
+        grp0 = DataArrayInt([0, 3])
+        grp0.setName("grp0")
+        grp1 = DataArrayInt([0, 1, 3, 2])
+        grp1.setName("grp1")
+        meshMEDFile.setGroupsAtLevel(0,[grp0, grp1])
+        # TODO: build 1D mesh and create groups of edges (in this 1D mesh)
+        # write mesh file
+        ms=MEDFileMeshes()
+        ms.pushMesh(meshMEDFile)
+        medFileData = MEDFileData()
+        medFileData.setMeshes(ms)
+        tmpMeshWriter = MeshFormatWriter()
+        # TODO: remove /tmp here when the test is finalized
+        tmpMeshWriter.setMeshFileName("/tmp/Mesh2D.mesh")
+        tmpMeshWriter.setMEDFileDS(medFileData)
+        tmpMeshWriter.write()
+        # TODO read .mesh file and test equality
+        #meshMEDFileRead = MEDFileMesh.New("/tmp/Mesh2D.med")
+        ## assert groups
+        #self.assertEqual(meshMEDFileRead.getGroupArr(0,"grp0").getValues(), [0, 3])
+        #self.assertEqual(meshMEDFileRead.getGroupArr(0,"grp1").getValues(), [0, 1, 2, 3])
+        
+class MeshFormatWriterTest3(unittest.TestCase):
+    @WriteInTmpDir
+    def testMesh3D(self):
+        # setup
+        mesh=MEDLoaderDataForTest.build3DMesh_1();
+        mesh.checkConsistencyLight();
+        meshMEDFile = MEDFileUMesh()
+        meshMEDFile.setMeshAtLevel(0, mesh)
+        # create groups
+        grp0 = DataArrayInt([0, 1])
+        grp0.setName("grp0")
+        grp1 = DataArrayInt([0, 5, 7, 8])
+        grp1.setName("grp1")
+        meshMEDFile.setGroupsAtLevel(0,[grp0, grp1])
+        # TODO: build skin mesh (2D mesh) and create groups of faces (in this 2D mesh)
+        # write mesh file
+        ms=MEDFileMeshes()
+        ms.pushMesh(meshMEDFile)
+        medFileData = MEDFileData()
+        medFileData.setMeshes(ms)
+        tmpMeshWriter = MeshFormatWriter()
+        # TODO: remove /tmp here when the test is finalized
+        tmpMeshWriter.setMeshFileName("/tmp/Mesh3D.mesh")
+        tmpMeshWriter.setMEDFileDS(medFileData)
+        tmpMeshWriter.write()
+        # TODO read .mesh file and test equality
+        #meshMEDFileRead = MEDFileMesh.New("/tmp/Mesh3D.med")
+        ## assert groups
+        #self.assertEqual(meshMEDFileRead.getGroupArr(0,"grp0").getValues(), [0, 1])
+        #self.assertEqual(meshMEDFileRead.getGroupArr(0,"grp1").getValues(), [0, 5, 7, 8])
+        
+# TODO: fix quadratic elements writing TRI6, QUAD8 and so on
+#       and add specific test cases
+
+
+if __name__ == '__main__':
+    unittest.main()
index fb403aa4e52b6aad035ef7a413142a6c37ed41fd..2e58e373954f9a2d2ec2ca56c608c2296e81ad5b 100644 (file)
@@ -22,6 +22,7 @@ SET(BASE_TESTS
   MEDLoaderTest4.py
   MEDLoaderExamplesTest.py
   UsersGuideExamplesTest_ML.py
+  MeshFormatWriterTest1.py
 )
 
 # if numpy is used