code: def test_batch_limit(self, time_mock):
      # given
      time_mock.side_effect = [1234, 1235, 1236, 1237, 1238]
  
      with TemporaryDirectory() as dirpath:
          obj_size = self.get_obj_size_bytes(
              TestDiskQueue.Obj(1, "1"), 1
          )
          queue = DiskQueue[TestDiskQueue.Obj](
              Path(dirpath),
              self._serializer,
              self._deserializer,
              threading.RLock(),
              max_file_size=100,
              max_batch_size_bytes=obj_size * 3,
          )
          for i in range(5):
              obj = TestDiskQueue.Obj(i, str(i))
              queue.put(obj)
          queue.flush()
  
          self.assertEqual(
              queue.get_batch(5),
              [
                  self.get_queue_element(
                      TestDiskQueue.Obj(i, str(i)), i + 1, 1234 + i
                  )
                  for i in range(3)
              ],
          )
          self.assertEqual(
              queue.get_batch(2),
              [
                  self.get_queue_element(
                      TestDiskQueue.Obj(i, str(i)), i + 1, 1234 + i
                  )
                  for i in range(3, 5)
              ],
          )
  
          queue.close()
  
imports: import json
  import random
  import threading
  import unittest
  from glob import glob
  from pathlib import Path
  from tempfile import TemporaryDirectory
  from typing import Optional
  from unittest.mock import patch
  from neptune.internal.disk_queue import DiskQueue, QueueElement
label_desc: Use image node_id 6 for calling the TestDiskQueue obj's underlying member method code with example usage: obj.test_batch_limit(time_mock) without return types