code: def test_shuffled(self):
      ds = DS0()
      loader = elegy.data.DataLoader(
          ds, batch_size=4, n_workers=4, shuffle=True
      )
      batches0 = list(loader)
      batches1 = list(loader)
  
      batched_y0 = [y for x, y in batches0]
      batched_y1 = [y for x, y in batches1]
  
      assert not (
          all(batched_y0[0] == np.arange(4))
          and all(batched_y0[1] == np.arange(4) + 4)
          and all(batched_y0[2] == np.arange(3) + 8)
      )
      assert not (
          all(batched_y0[0] == batched_y1[0])
          and all(batched_y0[1] == batched_y1[1])
          and all(batched_y0[2] == batched_y1[2])
      )
  
imports: from unittest import TestCase
  import jax.numpy
  import numpy
  import optax
  import pytest
  import elegy
label_desc: Use image node_id 4 for calling the DataLoaderTestCase obj's underlying member method code with example usage: obj.test_shuffled() without return types