code: def test_add_bg_roi_transform(
      self, input_param, test_input, expected_shape
  ):
      # float32 test
      result = AddBackgroundScribblesFromROId(**input_param)(test_input)
      input_data = test_input["scribbles"].copy()
      input_data = add_scribbles_from_roi(
          input_data,
          test_input["roi"],
          input_param["scribbles_fg_label"],
          input_param["scribbles_bg_label"],
      )
      np.testing.assert_equal(input_data, result["scribbles"])
      self.assertTupleEqual(expected_shape, result["scribbles"].shape)
      self.assertTupleEqual(
          test_input["scribbles"].shape, result["scribbles"].shape
      )
  
      # int32 test
      test_input["scribbles"] = test_input["scribbles"].astype(np.int32)
      result = AddBackgroundScribblesFromROId(**input_param)(test_input)
      input_data = test_input["scribbles"].copy()
      input_data = add_scribbles_from_roi(
          input_data,
          test_input["roi"],
          input_param["scribbles_fg_label"],
          input_param["scribbles_bg_label"],
      )
      np.testing.assert_equal(input_data, result["scribbles"])
      self.assertTupleEqual(expected_shape, result["scribbles"].shape)
      self.assertTupleEqual(
          test_input["scribbles"].shape, result["scribbles"].shape
      )
  
imports: import unittest
  import numpy
  from monai.transforms import LoadImage
  from monai.utils import set_determinism
  from parameterized import parameterized
  from monailabel.scribbles.infer import HistogramBasedGraphCut
  from monailabel.scribbles.transforms import AddBackgroundScribblesFromROId, ApplyGraphCutOptimisationd, InteractiveSegmentationTransform, MakeISegUnaryd, MakeLikelihoodFromScribblesHistogramd, SoftenProbSoftmax
  from monailabel.transform.writer import Writer
label_desc: Use image node_id 1 for calling the TestScribblesTransforms obj's underlying member method code with example usage: obj.test_add_bg_roi_transform(input_param, test_input, expected_shape) without return types