code: def test_iterbatches():
      """Test that iterating over batches of data works."""
      solubility_dataset = load_solubility_data()
      batch_size = 2
      data_shape = solubility_dataset.get_data_shape()
      tasks = solubility_dataset.get_task_names()
      for X_b, y_b, w_b, ids_b in solubility_dataset.iterbatches(
          batch_size
      ):
          assert X_b.shape == (batch_size,) + data_shape
          assert y_b.shape == (batch_size,) + (len(tasks),)
          assert w_b.shape == (batch_size,) + (len(tasks),)
          assert ids_b.shape == (batch_size,)
  
imports: import random
  import math
  import unittest
  import os
  import numpy
  import pytest
  import deepchem
  import pandas
  import tempfile
label_desc: Use image node_id 12 for calling a global function with example usage: test_iterbatches() without return types