code: def test_run_with_scorer_token_per_class(
      text_token_classification_dataset_mock,
  ):
      # Arrange
      check = SingleDatasetPerformance(scorers=["recall_per_class"])
  
      # Act
      result = check.run(
          text_token_classification_dataset_mock,
          predictions=[
              ["B-PER", "O", "O", "O", "O"],
              ["B-PER", "O", "O", "B-GEO", "O", "B-DATE"],
              ["O", "O", "O", "B-GEO", "O", "O", "O", "O"],
          ],
          model_classes=["B-DATE", "B-GEO", "B-PER"],
      )
  
      # Assert
      assert_that(result.value.values[0][-1], close_to(0.0, 0.001))
      assert_that(result.value.values[0][0], equal_to("B-DATE"))
      assert_that(result.value.values[1][-1], close_to(0.5, 0.001))
      assert_that(result.value.values[1][0], equal_to("B-GEO"))
      assert_that(result.value.values[2][-1], close_to(1.0, 0.001))
      assert_that(result.value.values[2][0], equal_to("B-PER"))
  
imports: import numpy
  from hamcrest import assert_that, calling, close_to, equal_to, has_items, raises
  from deepchecks.core.errors import DeepchecksValueError, ValidationError
  from deepchecks.nlp.checks.model_evaluation.single_dataset_performance import SingleDatasetPerformance
  from tests.base.utils import equal_condition_result
label_desc: Use image node_id 14 for calling a global function with example usage: test_run_with_scorer_token_per_class(text_token_classification_dataset_mock) without return types