code: def test_dict_matches(self, im_shape, input_type):
      data = self.get_data(im_shape, input_type)
      # use same image for both dictionary entries to check same trans is applied to them
      data = {
          KEYS[0]: deepcopy(data[KEYS[0]]),
          KEYS[1]: deepcopy(data[KEYS[0]]),
      }
      alpha = [0.5, 1.0]
      t = RandGibbsNoised(KEYS, 1.0, alpha)
      out = t(deepcopy(data))
      assert_allclose(
          out[KEYS[0]], out[KEYS[1]], rtol=1e-7, atol=0, type_test=False
      )
  
imports: from __future__ import annotations
  import unittest
  from copy import deepcopy
  import numpy
  from parameterized import parameterized
  from monai.data.synthetic import create_test_image_2d, create_test_image_3d
  from monai.transforms import RandGibbsNoised
  from monai.utils.misc import set_determinism
  from monai.utils.module import optional_import
  from tests.utils import TEST_NDARRAYS, assert_allclose
label_desc: Use image node_id 8 for calling the TestRandGibbsNoised obj's underlying member method code with example usage: obj.test_dict_matches(im_shape, input_type) without return types