code: def test_binary_classification_adult(adult_split_dataset_and_model):
      # Arrange
      _, test, model = adult_split_dataset_and_model
      check_binary = SingleDatasetPerformance()
      check_multiclass = SingleDatasetPerformance(
          scorers=["precision_per_class"]
      )
      # Act
      result_binary = check_binary.run(test, model).value
      result_per_class = check_multiclass.run(test, model).value
      # Assert
      binary_precision = result_binary[
          result_binary["Metric"] == "Precision"
      ].iloc[0, 2]
      assert_that(binary_precision, close_to(0.79, 0.01))
      assert_that(
          result_per_class.iloc[1, 2], close_to(binary_precision, 0.01)
      )
  
imports: from typing import List
  from hamcrest import assert_that, calling, close_to, equal_to, has_entries, has_items, has_length, instance_of, none, raises
  from sklearn.ensemble import AdaBoostClassifier, RandomForestClassifier
  from sklearn.model_selection import train_test_split
  from deepchecks.core import ConditionResult
  from deepchecks.core.errors import DeepchecksNotSupportedError, DeepchecksValueError, ModelValidationError
  from deepchecks.tabular.checks import SingleDatasetPerformance
  from deepchecks.tabular.dataset import Dataset
  from deepchecks.tabular.metric_utils.scorers import DEFAULT_MULTICLASS_SCORERS, DEFAULT_REGRESSION_SCORERS
  from tests.base.utils import equal_condition_result
  from tests.common import is_nan
label_desc: Use image node_id 8 for calling a global function with example usage: test_binary_classification_adult(adult_split_dataset_and_model) without return types