docstr: ...Test behavior of copy constructor and assignment on arrays
docstr_tok: ["...","Test","behavior","of","copy","constructor","and","assignment","on","arrays"]
code: def test_copy(self):
      """...Test behavior of copy constructor and assignment on arrays"""
      for array_type in self.array_types:
          test_func = getattr(test, "test_copy_%s" % array_type)
          original_arrays = self._test_arrays(array_type)
          test_arrays = self._test_arrays(array_type)
          for test_array, original_array in zip(
              test_arrays, original_arrays
          ):
              test_func(test_array)
              # If it is a shared ptr it should have set the pointed array
              # to 0
              if Test.is_array_ptr(array_type):
                  Test.compare_arrays(
                      test_array, np.zeros_like(test_array)
                  )
              # If it is not a pointer, data has been copy and array passed
              # as argument should not have been modified
              else:
                  Test.compare_arrays(test_array, original_array)
  
imports: import unittest
  import numpy
  from numpy.linalg import norm
  from tick.array_test.build import array_test
  from scipy.sparse import csr_matrix
  import itertools
label_desc: Use image node_id 12 for calling the Test obj's underlying member method code with example usage: obj.test_copy() without return types