X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDCoupling_Swig%2FMEDCouplingNumPyTest.py;h=308e33e27786fa9d30e45fd117cd1f9be5348956;hb=0d89ead3756a73241e61fc46b60e59104b4be02c;hp=9631ee00e4b0e35c4f7ce0ca6ec9d060c291408f;hpb=8763c12d01e33d6845dd53be65b001514d00bd42;p=tools%2Fmedcoupling.git diff --git a/src/MEDCoupling_Swig/MEDCouplingNumPyTest.py b/src/MEDCoupling_Swig/MEDCouplingNumPyTest.py index 9631ee00e..308e33e27 100644 --- a/src/MEDCoupling_Swig/MEDCouplingNumPyTest.py +++ b/src/MEDCoupling_Swig/MEDCouplingNumPyTest.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2014 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 @@ -31,7 +31,7 @@ import os,gc,weakref,unittest class MEDCouplingNumPyTest(unittest.TestCase): - @unittest.skipUnless(MEDCouplingHasNumPyBindings() and architecture()[0]=="64bit","requires numpy") + @unittest.skipUnless(MEDCouplingHasNumPyBindings(),"requires numpy") def test1(self): sz=20 a=array(0,dtype=int32) @@ -102,8 +102,7 @@ class MEDCouplingNumPyTest(unittest.TestCase): d=DataArrayInt(a) self.assertEqual(weakref.getweakrefcount(a),1) self.assertTrue(not a.flags["OWNDATA"]) - self.assertTrue(d.isIdentity()) - self.assertEqual(len(d),20) + self.assertTrue(d.isIdentity2(20)) a[:]=2 # modifying a and d because a and d share the same chunk of data self.assertTrue(d.isUniform(2)) del d # d is destroyed, a retrieves its ownership of its initial chunk of data @@ -120,8 +119,8 @@ class MEDCouplingNumPyTest(unittest.TestCase): a=arange(20,dtype=int32) d=DataArrayInt(a) # d owns data of a e=DataArrayInt(a) # a not owned -> e only an access to chunk of a - self.assertTrue(d.isIdentity()) - self.assertTrue(e.isIdentity()) + self.assertTrue(d.isIdentity2(d.getNumberOfTuples())) + self.assertTrue(e.isIdentity2(e.getNumberOfTuples())) a[:]=6 self.assertTrue(d.isUniform(6)) self.assertTrue(e.isUniform(6)) @@ -155,13 +154,13 @@ class MEDCouplingNumPyTest(unittest.TestCase): del b # no impact on e and f because a is the base of a. ##@@ Ensure a pass of the garbage collector so that the de-allocator of d is called gc.collect() - self.assertTrue(f.isIdentity()) - self.assertTrue(e.isIdentity()) + self.assertTrue(f.isIdentity2(f.getNumberOfTuples())) + self.assertTrue(e.isIdentity2(e.getNumberOfTuples())) del a # a destroyed, but as c has its base set to a, a exists -> e and f not allocated ##@@ Ensure a pass of the garbage collector so that the de-allocator of d is called gc.collect() - self.assertTrue(f.isIdentity()) - self.assertTrue(e.isIdentity()) + self.assertTrue(f.isIdentity2(f.getNumberOfTuples())) + self.assertTrue(e.isIdentity2(e.getNumberOfTuples())) del c # c killed -> a killed -> e and d are put into not allocated state ##@@ Ensure a pass of the garbage collector so that the de-allocator of d is called gc.collect() @@ -563,33 +562,33 @@ class MEDCouplingNumPyTest(unittest.TestCase): b=DataArrayInt(a) c=DataArrayInt(a) d=DataArrayInt(a) - self.assertTrue(b.isIdentity()) ; self.assertEqual(len(b),10) - self.assertTrue(c.isIdentity()) ; self.assertEqual(len(c),10) - self.assertTrue(d.isIdentity()) ; self.assertEqual(len(d),10) + self.assertTrue(b.isIdentity2(10)) + self.assertTrue(c.isIdentity2(10)) + self.assertTrue(d.isIdentity2(10)) c.pushBackSilent(10) # c and a,b are dissociated - self.assertTrue(b.isIdentity()) ; self.assertEqual(len(b),10) - self.assertTrue(c.isIdentity()) ; self.assertEqual(len(c),11) - self.assertTrue(d.isIdentity()) ; self.assertEqual(len(d),10) + self.assertTrue(b.isIdentity2(10)) + self.assertTrue(c.isIdentity2(11)) + self.assertTrue(d.isIdentity2(10)) del a gc.collect() - self.assertTrue(b.isIdentity()) ; self.assertEqual(len(b),10) - self.assertTrue(c.isIdentity()) ; self.assertEqual(len(c),11) + self.assertTrue(b.isIdentity2(10)) + self.assertTrue(c.isIdentity2(11)) self.assertTrue(not d.isAllocated()) del b gc.collect() - self.assertTrue(c.isIdentity()) ; self.assertEqual(len(c),11) + self.assertTrue(c.isIdentity2(11)) # a=arange(10,dtype=int32) b=DataArrayInt(a) c=DataArrayInt(a) - self.assertTrue(b.isIdentity()) ; self.assertEqual(len(b),10) - self.assertTrue(c.isIdentity()) ; self.assertEqual(len(c),10) + self.assertTrue(b.isIdentity2(10)) + self.assertTrue(c.isIdentity2(10)) b.pushBackSilent(10) # c and a,b are dissociated - self.assertTrue(b.isIdentity()) ; self.assertEqual(len(b),11) - self.assertTrue(c.isIdentity()) ; self.assertEqual(len(c),10) + self.assertTrue(b.isIdentity2(11)) + self.assertTrue(c.isIdentity2(10)) del a gc.collect() - self.assertTrue(b.isIdentity()) ; self.assertEqual(len(b),11) + self.assertTrue(b.isIdentity2(11)) self.assertTrue(not c.isAllocated()) del b gc.collect() @@ -656,6 +655,14 @@ class MEDCouplingNumPyTest(unittest.TestCase): self.assertEqual(a2.tolist(),[[0.,1.,2.],[3.,4.,5.],[6.,7.,8.],[9.,10.,11.],[12.,13.,14.]]) pass + @unittest.skipUnless(MEDCouplingHasNumPyBindings(),"requires numpy") + def test27(self): + m0=DenseMatrix(DataArrayDouble([2,3,4,5,1,6]),2,3) + m0np=m0.toNumPyMatrix() + self.assertEqual(m0np.shape,(2,3)) + self.assertEqual(m0np.tolist(),[[2.0,3.0,4.0],[5.0,1.0,6.0]]) + pass + def setUp(self): pass pass