code: def test_storage(dtype, device):
      row, col = tensor(
          [[0, 0, 1, 1], [0, 1, 0, 1]], torch.long, device
      )
  
      storage = SparseStorage(row=row, col=col)
      assert storage.row().tolist() == [0, 0, 1, 1]
      assert storage.col().tolist() == [0, 1, 0, 1]
      assert storage.value() is None
      assert storage.sparse_sizes() == (2, 2)
  
      row, col = tensor(
          [[0, 0, 1, 1], [1, 0, 1, 0]], torch.long, device
      )
      value = tensor([2, 1, 4, 3], dtype, device)
      storage = SparseStorage(row=row, col=col, value=value)
      assert storage.row().tolist() == [0, 0, 1, 1]
      assert storage.col().tolist() == [0, 1, 0, 1]
      assert storage.value().tolist() == [1, 2, 3, 4]
      assert storage.sparse_sizes() == (2, 2)
  
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 2 for calling a global function with example usage: test_storage(dtype, device) without return types