X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDCoupling_Swig%2FMEDCouplingNumPyTest.py;h=7b20363432c3aaaffe837482311f8fc2ae60a322;hb=8be544a31d08ec0537eef57b60edd48bc70c22db;hp=3fbc1488a080b8db3ace78892b79fea8b0e110e6;hpb=1e36a6710aab710674e20fbd89f6a9a8f238c023;p=tools%2Fmedcoupling.git diff --git a/src/MEDCoupling_Swig/MEDCouplingNumPyTest.py b/src/MEDCoupling_Swig/MEDCouplingNumPyTest.py index 3fbc1488a..7b2036343 100644 --- a/src/MEDCoupling_Swig/MEDCouplingNumPyTest.py +++ b/src/MEDCoupling_Swig/MEDCouplingNumPyTest.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2015 CEA/DEN, EDF R&D +# Copyright (C) 2007-2016 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 @@ -663,6 +663,99 @@ class MEDCouplingNumPyTest(unittest.TestCase): self.assertEqual(m0np.tolist(),[[2.0,3.0,4.0],[5.0,1.0,6.0]]) pass + @unittest.skipUnless(MEDCouplingHasNumPyBindings(),"requires numpy") + def test28(self): + """Test on DataArrayBytes""" + # use case 1 + d=DataArrayByte(256) + for i in xrange(len(d)): + d[i]=-128+i + pass + arr=d.toNumPyArray() + for i in xrange(len(d)): + self.assertEqual(int(arr[i]),-128+i) + pass + d[0]=7 + self.assertEqual(int(arr[0]),7) + arr[0]=8 + self.assertEqual(int(d.getIJ(0,0)),8) + del arr + gc.collect() + del d + gc.collect() + # use case 2 + d=DataArrayByte(256) + for i in xrange(len(d)): + d[i]=-128+i + pass + arr=d.toNumPyArray() + for i in xrange(len(d)): + self.assertEqual(int(arr[i]),-128+i) + pass + del d + gc.collect() + del arr + gc.collect() + # use case 3 + d=DataArrayByte(256) + for i in xrange(len(d)): + d[i]=-128+i + pass + arr1=d.toNumPyArray() + arr2=d.toNumPyArray() + arr3=d.toNumPyArray() + d[0]=10 + self.assertEqual(int(arr1[0]),10) ; self.assertEqual(int(arr2[0]),10) ; self.assertEqual(int(arr3[0]),10) + arr2[0]=15 ; self.assertEqual(int(d.getIJ(0,0)),15) ; self.assertEqual(int(arr1[0]),15) ; self.assertEqual(int(arr3[0]),15) + arr1[0]=-128 + for i in xrange(len(d)): + self.assertEqual(int(arr1[i]),-128+i) + self.assertEqual(int(arr2[i]),-128+i) + self.assertEqual(int(arr3[i]),-128+i) + pass + del arr2 + gc.collect() + for i in xrange(len(d)): + self.assertEqual(int(arr1[i]),-128+i) + self.assertEqual(int(arr3[i]),-128+i) + pass + del arr1 + gc.collect() + for i in xrange(len(d)): + self.assertEqual(int(arr3[i]),-128+i) + pass + del arr3 + gc.collect() + # use case 4 + arr=array(0,dtype=int8) + arr.resize(256) + for i in xrange(256): + arr[i]=-128+i + pass + d=DataArrayByte(arr) + for i in xrange(256): + self.assertEqual(int(d.getIJ(i,0)),-128+i) + pass + del arr + gc.collect() + del d + gc.collect() + # use case 5 + arr=array(0,dtype=int8) + arr.resize(256) + for i in xrange(256): + arr[i]=-128+i + pass + d=DataArrayByte(arr) + for i in xrange(256): + self.assertEqual(int(d.getIJ(i,0)),-128+i) + pass + del d + gc.collect() + del arr + gc.collect() + pass + def setUp(self): pass pass