code: def test_classify_changes_automatically(
      descriptions: list[str],
      with_breaking_changes: bool,
      maybe_with_new_features: bool,
      breaking_count: int,
      feature_count: int,
      bugfix_count: int,
      other_count: int,
  ):
      """Test simple automated classification of the changes based on their single-line description."""
      changes = [
          _get_change_from_line(
              f"LONG SHORT 2023-12-01 {description}", version="0.1.0"
          )
          for description in descriptions
      ]
      classified_changes = _get_changes_classified(
          changes,
          with_breaking_changes=with_breaking_changes,
          maybe_with_new_features=maybe_with_new_features,
      )
      assert len(classified_changes.breaking_changes) == breaking_count
      assert len(classified_changes.features) == feature_count
      assert len(classified_changes.fixes) == bugfix_count
      assert len(classified_changes.other) == other_count
  
file_path: airflow/dev/breeze/tests/test_provider_documentation.py
imports: from __future__ import annotations
  import pytest
  from airflow_breeze.prepare_providers.provider_documentation import Change, _convert_git_changes_to_table, _find_insertion_index_for_version, _get_change_from_line, _get_changes_classified, _get_git_log_command, _verify_changelog_exists, get_version_tag
  from airflow_breeze.utils.path_utils import AIRFLOW_SOURCES_ROOT
label_desc: Use image node_id 9 for calling a global function with example usage: test_classify_changes_automatically(descriptions, with_breaking_changes, maybe_with_new_features, breaking_count, feature_count, bugfix_count, other_count) without return types