X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDLoader%2FSwig%2FMEDLoaderTest.py;h=38ee4afa9671e1d4251aa830e5644ab2fb5b6a13;hb=b6c89e5886e9b348c00d3d6c23a265f89613cbc7;hp=441ee661045fe59bf058109d26c6d446bde0fdb0;hpb=bcc6a7bed819f0350509e3c235a3ea68532e05c8;p=tools%2Fmedcoupling.git diff --git a/src/MEDLoader/Swig/MEDLoaderTest.py b/src/MEDLoader/Swig/MEDLoaderTest.py index 441ee6610..38ee4afa9 100644 --- a/src/MEDLoader/Swig/MEDLoaderTest.py +++ b/src/MEDLoader/Swig/MEDLoaderTest.py @@ -1,10 +1,10 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2013 CEA/DEN, EDF R&D +# Copyright (C) 2007-2015 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 # License as published by the Free Software Foundation; either -# version 2.1 of the License. +# 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 @@ -315,6 +315,7 @@ class MEDLoaderTest(unittest.TestCase): fileName="Pyfile14.med"; f1=MEDLoaderDataForTest.buildVecFieldOnGaussNE_1(); MEDLoader.MEDLoader.WriteField(fileName,f1,True); + self.assertEqual([MEDLoader.ON_GAUSS_NE],MEDLoader.MEDLoader.GetTypesOfField(fileName,'2DMesh_2','MyFieldOnGaussNE')) #Bug 22/5/2014 f2=MEDLoader.MEDLoader.ReadField(MEDLoader.ON_GAUSS_NE,fileName,f1.getMesh().getName(),0,f1.getName(),1,5); self.assertTrue(f1.isEqual(f2,1e-12,1e-12)); pass @@ -691,7 +692,7 @@ class MEDLoaderTest(unittest.TestCase): d.alloc(1,1) d.iota(1.) # seting a long name - d.setInfoOnComponent(0,"CONCENTRATION of I129") + d.setInfoOnComponent(0,"CONCENTRATION of I129") f.setArray(d) f.setName("field") # @@ -710,6 +711,46 @@ class MEDLoaderTest(unittest.TestCase): MEDLoader.MEDLoader.WriteField(fname,f,True) pass + def testUsingAlreadyWrittenMesh2(self): + """ This test focuses on MEDLoader.WriteFieldUsingAlreadyWrittenMesh with mesh different from UMesh. + """ + fname="Pyfile76.med" + mesh=MEDLoader.MEDCouplingCMesh("mesh") + arrX=MEDLoader.DataArrayDouble([0,1,2,3]) + arrY=MEDLoader.DataArrayDouble([0,2,3,5,7]) + arrZ=MEDLoader.DataArrayDouble([7]) + mesh.setCoords(arrX,arrY,arrZ) + # + f1=MEDLoader.MEDCouplingFieldDouble(MEDLoader.ON_NODES) ; f1.setName("f1") + f1.setMesh(mesh) + arr=MEDLoader.DataArrayDouble(20) ; arr.iota() + f1.setArray(arr) + f1.checkCoherency() + # + f2=MEDLoader.MEDCouplingFieldDouble(MEDLoader.ON_NODES) ; f2.setName("f2") + f2.setMesh(mesh) + arr=MEDLoader.DataArrayDouble(20) ; arr.iota() ; arr*=3 + f2.setArray(arr) + f2.checkCoherency() + # + f11=f1.deepCpy() ; (f11.getArray())[:]*=4 ; f11.setTime(1.1,5,6) + # + MEDLoader.MEDLoader.WriteMesh(fname,f1.getMesh(),True) + MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fname,f1) + MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fname,f2) + MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fname,f11) + ## + f1r=MEDLoader.MEDLoader.ReadFieldNode(fname,"mesh",0,"f1",-1,-1); + self.assertTrue(f1.isEqual(f1r,1e-12,1e-12)) + self.assertTrue(f1r.getArray().isEqual(MEDLoader.DataArrayDouble([0.,1.,2.,3.,4.,5.,6.,7.,8.,9.,10.,11.,12.,13.,14.,15.,16.,17.,18.,19.]),1e-12)) + f2r=MEDLoader.MEDLoader.ReadFieldNode(fname,"mesh",0,"f2",-1,-1); + self.assertTrue(f2.isEqual(f2r,1e-12,1e-12)) + self.assertTrue(f2r.getArray().isEqual(MEDLoader.DataArrayDouble([0.,3.,6.,9.,12.,15.,18.,21.,24.,27.,30.,33.,36.,39.,42.,45.,48.,51.,54.,57.]),1e-12)) + f3r=MEDLoader.MEDLoader.ReadFieldNode(fname,"mesh",0,"f1",5,6); + self.assertTrue(f11.isEqual(f3r,1e-12,1e-12)) + self.assertTrue(f3r.getArray().isEqual(MEDLoader.DataArrayDouble([0.,4.,8.,12.,16.,20.,24.,28.,32.,36.,40.,44.,48.,52.,56.,60.,64.,68.,72.,76.]),1e-12)) + pass pass -unittest.main() +if __name__ == "__main__": + unittest.main()