code: def test_coco_area_param(coco_visiondata_test):
      # Arrange
      check = MeanAverageRecallReport(area_range=(40**2, 100**2))
  
      # Act
      result = check.run(coco_visiondata_test)
  
      # Assert
      df = result.value
      assert_that(df, has_length(4))
  
      assert_that(df.loc["All", "AR@1 (%)"], close_to(0.330, 0.001))
      assert_that(df.loc["All", "AR@10 (%)"], close_to(0.423, 0.001))
      assert_that(df.loc["All", "AR@100 (%)"], close_to(0.429, 0.001))
  
      assert_that(
          df.loc["Small (area < 40^2)", "AR@1 (%)"],
          close_to(0.101, 0.001),
      )
      assert_that(
          df.loc["Small (area < 40^2)", "AR@10 (%)"],
          close_to(0.197, 0.001),
      )
      assert_that(
          df.loc["Small (area < 40^2)", "AR@100 (%)"],
          close_to(0.204, 0.001),
      )
  
      assert_that(
          df.loc["Medium (40^2 < area < 100^2)", "AR@1 (%)"],
          close_to(0.314, 0.001),
      )
      assert_that(
          df.loc["Medium (40^2 < area < 100^2)", "AR@10 (%)"],
          close_to(0.428, 0.001),
      )
      assert_that(
          df.loc["Medium (40^2 < area < 100^2)", "AR@100 (%)"],
          close_to(0.446, 0.001),
      )
  
      assert_that(
          df.loc["Large (area < 100^2)", "AR@1 (%)"],
          close_to(0.482, 0.001),
      )
      assert_that(
          df.loc["Large (area < 100^2)", "AR@10 (%)"],
          close_to(0.547, 0.001),
      )
      assert_that(
          df.loc["Large (area < 100^2)", "AR@100 (%)"],
          close_to(0.551, 0.001),
      )
  
imports: from hamcrest import assert_that, calling, close_to, has_length, raises
  from deepchecks.core.errors import DeepchecksNotSupportedError
  from deepchecks.vision.checks import MeanAverageRecallReport
  from tests.base.utils import equal_condition_result
label_desc: Use image node_id 3 for calling a global function with example usage: test_coco_area_param(coco_visiondata_test) without return types