code: def testDataclassAssertSameStructure(self):
      mt1 = MaskedTensor(mask=True, value=constant_op.constant([1]))
      mt2 = MaskedTensor(mask=False, value=constant_op.constant([2]))
      nest.assert_same_structure(mt1, mt2)
  
      mt3 = (1, 2)
  
      with self.assertRaisesRegex(  # pylint: disable=g-error-prone-assert-raises
          TypeError,
          "don't have the same nested structure",
      ):
          nest.assert_same_structure(mt1, mt3)
  
      class SubMaskedTensor(MaskedTensor):
          pass
  
      mt_subclass = SubMaskedTensor(
          mask=True, value=constant_op.constant([1])
      )
      nest.assert_same_structure(mt1, mt_subclass, check_types=False)
      with self.assertRaisesRegex(  # pylint: disable=g-error-prone-assert-raises
          TypeError,
          "don't have the same sequence type",
      ):
          nest.assert_same_structure(mt1, mt_subclass)
  
imports: import collections
  import dataclasses
  from absl.testing import parameterized
  import numpy
  from tensorflow.python.data.kernel_tests import test_base
  from tensorflow.python.data.util import nest
  from tensorflow.python.framework import combinations
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.framework import tensor
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops.ragged import ragged_factory_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 6 for calling the NestTest obj's underlying member method code with example usage: obj.testDataclassAssertSameStructure() without return types