code: def test_basic_flow(
      self, shuffle, workers, use_multiprocessing, max_queue_size
  ):
      set_random_seed(1337)
      x = np.random.random((64, 4))
      y = np.array([[i, i] for i in range(64)], dtype="float64")
      py_dataset = ExamplePyDataset(
          x,
          y,
          batch_size=16,
          workers=workers,
          use_multiprocessing=use_multiprocessing,
          max_queue_size=max_queue_size,
      )
      adapter = py_dataset_adapter.PyDatasetAdapter(
          py_dataset, shuffle=shuffle
      )
  
      gen = adapter.get_numpy_iterator()
      sample_order = []
      for batch in gen:
          self.assertEqual(len(batch), 2)
          bx, by = batch
          self.assertIsInstance(bx, np.ndarray)
          self.assertIsInstance(by, np.ndarray)
          self.assertEqual(bx.dtype, by.dtype)
          self.assertEqual(bx.shape, (16, 4))
          self.assertEqual(by.shape, (16, 2))
          for i in range(by.shape[0]):
              sample_order.append(by[i, 0])
      if shuffle:
          self.assertFalse(sample_order == list(range(64)))
      else:
          self.assertAllClose(sample_order, list(range(64)))
  
      ds = adapter.get_tf_dataset()
      sample_order = []
      for batch in ds:
          self.assertEqual(len(batch), 2)
          bx, by = batch
          self.assertIsInstance(bx, tf.Tensor)
          self.assertIsInstance(by, tf.Tensor)
          self.assertEqual(bx.dtype, by.dtype)
          self.assertEqual(tuple(bx.shape), (16, 4))
          self.assertEqual(tuple(by.shape), (16, 2))
          for i in range(by.shape[0]):
              sample_order.append(by[i, 0])
      if shuffle:
          self.assertFalse(sample_order == list(range(64)))
      else:
          self.assertAllClose(sample_order, list(range(64)))
  
imports: import math
  import time
  import numpy
  import tensorflow
  from absl.testing import parameterized
  from keras import testing
  from keras.trainers.data_adapters import py_dataset_adapter
  from keras.utils.rng_utils import set_random_seed
label_desc: Use image node_id 1 for calling the PyDatasetAdapterTest obj's underlying member method code with example usage: obj.test_basic_flow(shuffle, workers, use_multiprocessing, max_queue_size) without return types