code: def test_basic(self):
      batch_size = 10
      epochs = 1
      x = np.array(np.random.uniform(size=(100, 32, 32, 3)))
      y = np.array(np.random.uniform(size=(100, 1)))
  
      dataset = TensorDataset(torch.from_numpy(x), torch.from_numpy(y))
      dataloader = DataLoader(dataset, batch_size=batch_size)
  
      data_adapter = TorchDataLoaderAdapter(dataloader)
  
      dataset_length = x.shape[0]
      num_steps = math.ceil(dataset_length / batch_size) * epochs
      iterator_fn = data_adapter.get_dataset()
      for i, batch in zip(range(num_steps), iterator_fn()):
          batch_x, batch_y = batch
          assert batch_x.shape == (batch_size, *x.shape[1:])
          assert batch_y.shape == (batch_size, *y.shape[1:])
          np.testing.assert_array_equal(
              batch_x,
              x[
                  (i * batch_size)
                  % dataset_length : (i * batch_size)
                  % dataset_length
                  + batch_size
              ],
          )
  
      assert data_adapter.get_size() * batch_size == x.shape[0]
      assert data_adapter.batch_size == batch_size
      assert i == num_steps - 1
  
file_path: elegy/tests/data/torch_dataloader_adapter_test.py
imports: import math
  from unittest import TestCase
  import numpy
  import torch
  from torch.utils.data import DataLoader, TensorDataset
  from elegy.data.torch_dataloader_adapter import TorchDataLoaderAdapter
label_desc: Use image node_id 1 for calling the ArrayDataAdapterTest obj's underlying member method code with example usage: obj.test_basic() without return types