code: def test_value(self, input_param, input_data):
      for p in TEST_NDARRAYS:
          dropout = RandCoarseDropout(**input_param)
          im = p(input_data)
          result = dropout(im)
      holes = input_param.get("holes")
      max_holes = input_param.get("max_holes")
      spatial_size = fall_back_tuple(
          input_param.get("spatial_size"), input_data.shape[1:]
      )
      max_spatial_size = fall_back_tuple(
          input_param.get("max_spatial_size"), input_data.shape[1:]
      )
  
      if max_holes is None:
          self.assertEqual(len(dropout.hole_coords), holes)
      else:
          self.assertGreaterEqual(len(dropout.hole_coords), holes)
          self.assertLessEqual(len(dropout.hole_coords), max_holes)
  
      for h in dropout.hole_coords:
          data = result[h]
          # test hole value
          if input_param.get("dropout_holes", True):
              fill_value = input_param.get("fill_value", None)
              if isinstance(fill_value, (int, float)):
                  assert_allclose(data, fill_value, type_test=False)
              elif fill_value is not None:
                  min_value = data.min()
                  max_value = data.max()
                  self.assertGreaterEqual(max_value, min_value)
                  self.assertGreaterEqual(min_value, fill_value[0])
                  self.assertLess(max_value, fill_value[1])
          else:
              assert_allclose(data, input_data[h], type_test=False)
  
          if max_spatial_size is None:
              self.assertTupleEqual(data.shape[1:], tuple(spatial_size))
          else:
              for d, s, m in zip(
                  data.shape[1:], spatial_size, max_spatial_size
              ):
                  self.assertGreaterEqual(d, s)
                  self.assertLessEqual(d, m)
  
file_path: MONAI/tests/test_rand_coarse_dropout.py
imports: from __future__ import annotations
  import unittest
  import numpy
  import torch
  from parameterized import parameterized
  from monai.transforms import RandCoarseDropout
  from monai.utils import fall_back_tuple
  from tests.utils import TEST_NDARRAYS, assert_allclose
label_desc: Use image node_id 1 for calling the TestRandCoarseDropout obj's underlying member method code with example usage: obj.test_value(input_param, input_data) without return types