code: def test_hard_thresholding():
      """Test for hard_thresholding operator"""
      tensor = T.tensor([[1, 2, 1.5], [4, -6, -0.5], [0.2, 1.2, -3.4]])
      copy_tensor = T.copy(tensor)
      threshold = 2
      res = hard_thresholding(tensor, threshold)
      true_res = T.tensor([[0, 0, 0], [4, -6, 0], [0, 0, 0]])
      assert_array_almost_equal(true_res, res)
      # Check that we did not change the original tensor
      assert_array_equal(copy_tensor, tensor)
  
imports: import numpy
  from ...None import backend
  from ..proximal import svd_thresholding, smoothness_prox, soft_thresholding, hals_nnls, fista, active_set_nnls, procrustes, hard_thresholding, soft_sparsity_prox, simplex_prox, normalized_sparsity_prox, monotonicity_prox, unimodality_prox, l2_prox, l2_square_prox, admm
  from ...testing import assert_, assert_array_equal, assert_array_almost_equal
  from tensorly import tensor_to_vec, truncated_svd
  import pytest
label_desc: Use image node_id 2 for calling a global function with example usage: test_hard_thresholding() without return types