code: def test_condition_count_fail():
      train_data = {
          "col1": ["a", "b", "c", "d"],
          "col2": ["a", "b", "c", "d"],
      }
      test_data = {
          "col1": ["a", "b", "c", "e"],
          "col2": ["a", "b", "c", "d"],
      }
      train_dataset = Dataset(
          pd.DataFrame(data=train_data, columns=["col1", "col2"]),
          cat_features=["col1", "col2"],
      )
      test_dataset = Dataset(
          pd.DataFrame(data=test_data, columns=["col1", "col2"]),
          cat_features=["col1", "col2"],
      )
  
      # Arrange
      check = NewCategoryTrainTest().add_condition_new_category_ratio_less_or_equal(
          0.1
      )
  
      # Act
      result = check.conditions_decision(
          check.run(train_dataset, test_dataset)
      )
  
      assert_that(
          result,
          has_items(
              equal_condition_result(
                  is_pass=False,
                  details="Found 1 features with ratio of new categories above threshold: "
                  "\n{'col1': '25%'}",
                  name="Ratio of samples with a new category is less or equal to 10%",
              )
          ),
      )
  
imports: import pandas
  from hamcrest import assert_that, calling, close_to, equal_to, greater_than, has_items, has_length, raises
  from deepchecks.core.errors import DeepchecksValueError
  from deepchecks.tabular.checks.train_test_validation import NewCategoryTrainTest
  from deepchecks.tabular.dataset import Dataset
  from tests.base.utils import equal_condition_result
label_desc: Use image node_id 14 for calling a global function with example usage: test_condition_count_fail() without return types