code: def test_utility(dtype, device):
      row, col = tensor(
          [[0, 0, 1, 1], [1, 0, 1, 0]], torch.long, device
      )
      value = tensor([1, 2, 3, 4], dtype, device)
      storage = SparseStorage(row=row, col=col, value=value)
  
      assert storage.has_value()
  
      storage.set_value_(value, layout="csc")
      assert storage.value().tolist() == [1, 3, 2, 4]
      storage.set_value_(value, layout="coo")
      assert storage.value().tolist() == [1, 2, 3, 4]
  
      storage = storage.set_value(value, layout="csc")
      assert storage.value().tolist() == [1, 3, 2, 4]
      storage = storage.set_value(value, layout="coo")
      assert storage.value().tolist() == [1, 2, 3, 4]
  
      storage = storage.sparse_resize((3, 3))
      assert storage.sparse_sizes() == (3, 3)
  
      new_storage = storage.copy()
      assert new_storage != storage
      assert new_storage.col().data_ptr() == storage.col().data_ptr()
  
      new_storage = storage.clone()
      assert new_storage != storage
      assert new_storage.col().data_ptr() != storage.col().data_ptr()
  
file_path: pytorch_sparse/test/test_storage.py
imports: from itertools import product
  import pytest
  import torch
  from torch_sparse.storage import SparseStorage
  from torch_sparse.testing import devices, dtypes, tensor
label_desc: Use image node_id 4 for calling a global function with example usage: test_utility(dtype, device) without return types