class_docstr: Mock implementation of a BatchingNodeProvider.
code: def _assert_worker_counts(
      self, expected_worker_counts: Dict[NodeType, int]
  ) -> None:
      assert (
          self._cur_num_workers(self._node_data_dict)
          == expected_worker_counts
      )
  
imports: from copy import copy
  from uuid import uuid4
  import os
  import random
  import sys
  from typing import Any, Dict
  from collections import defaultdict
  import pytest
  from ray.autoscaler.batching_node_provider import BatchingNodeProvider, NodeData, ScaleRequest
  from ray.autoscaler._private.util import NodeID, NodeType
  from ray.autoscaler.tags import STATUS_UP_TO_DATE, TAG_RAY_USER_NODE_TYPE, TAG_RAY_NODE_KIND, TAG_RAY_NODE_STATUS, NODE_KIND_HEAD, NODE_KIND_WORKER
  from ray.autoscaler._private.constants import DISABLE_LAUNCH_CONFIG_CHECK_KEY, DISABLE_NODE_UPDATERS_KEY, FOREGROUND_NODE_LAUNCH_KEY
label_desc: Use image node_id 7 for calling the MockBatchingNodeProvider obj's underlying member method code with example usage: obj._assert_worker_counts(expected_worker_counts) without return types