code: def test_make_iseg_unary_transform(
      self, input_param, test_input, output, expected_shape
  ):
      input_param.update({"unary": "pred"})
      result = MakeISegUnaryd(**input_param)(test_input)
  
      # make expected unary output
      expected_result = output["target"].copy()
      eps = np.finfo(expected_result.dtype).eps
      expected_result[expected_result == 0] = eps
      expected_result[expected_result == 1] = 1 - eps
  
      # compare
      np.testing.assert_equal(expected_result, result["pred"])
      self.assertTupleEqual(expected_shape, result["pred"].shape)
  
      with self.assertRaises(ValueError):
          test_input["prob"] = np.random.rand(3, 128, 128, 128)
          result = MakeISegUnaryd(**input_param)(test_input)
  
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 3 for calling the TestScribblesTransforms obj's underlying member method code with example usage: obj.test_make_iseg_unary_transform(input_param, test_input, output, expected_shape) without return types