code: def test_evaluate_proposal(self):
      # create dummy data
      fake_json_file = osp.join(self.tmp_dir.name, "fake_data.json")
      self._create_dummy_coco_json(fake_json_file)
      dummy_pred = self._create_dummy_results()
  
      coco_metric = CocoMetric(
          ann_file=fake_json_file, metric="proposal"
      )
      coco_metric.dataset_meta = dict(classes=["car", "bicycle"])
      coco_metric.process(
          {},
          [
              dict(
                  pred_instances=dummy_pred,
                  img_id=0,
                  ori_shape=(640, 640),
              )
          ],
      )
      eval_results = coco_metric.evaluate(size=1)
      print(eval_results)
      target = {
          "coco/AR@100": 1,
          "coco/AR@300": 1.0,
          "coco/AR@1000": 1.0,
          "coco/AR_s@1000": 1.0,
          "coco/AR_m@1000": 1.0,
          "coco/AR_l@1000": 1.0,
      }
      self.assertDictEqual(eval_results, target)
  
imports: import os.path
  import tempfile
  from unittest import TestCase
  import numpy
  import pycocotools.mask
  import torch
  from mmengine.fileio import dump
  from mmdet.evaluation import CocoMetric
label_desc: Use image node_id 10 for calling the TestCocoMetric obj's underlying member method code with example usage: obj.test_evaluate_proposal() without return types