code: def _assert_datasets_equal(self, ds1, ds2):
      # First lets assert the structure is the same.
      self.assertTrue(
          structure.are_compatible(ds1.element_spec, ds2.element_spec)
      )
  
      # Now create iterators on both and assert they produce the same values.
      it1 = dataset_ops.make_initializable_iterator(ds1)
      it2 = dataset_ops.make_initializable_iterator(ds2)
  
      get_next1 = it1.get_next()
      get_next2 = it2.get_next()
  
      with self.cached_session():
          self.evaluate([it1.initializer, it2.initializer])
          val1, val2 = self.evaluate([get_next1, get_next2])
          self.assertEqual(val1, val2)
  
imports: import os
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.data.ops import readers
  from tensorflow.python.data.util import structure
  from tensorflow.python.distribute import input_ops
  from tensorflow.python.eager import context
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import test_util
  from tensorflow.python.lib.io import python_io
  from tensorflow.python.ops import gen_dataset_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.platform import test
  from tensorflow.python.util import compat
label_desc: Use image node_id 1 for calling the CloneDatasetTest obj's underlying member method code with example usage: obj._assert_datasets_equal(ds1, ds2) without return types