code: def test_new_category_without_display():
      train_data = {"col1": ["a", "b", "c"]}
      test_data = {"col1": ["a", "b", "c", "d"]}
      train_dataset = Dataset(
          pd.DataFrame(data=train_data, columns=["col1"]),
          cat_features=["col1"],
      )
      test_dataset = Dataset(
          pd.DataFrame(data=test_data, columns=["col1"]),
          cat_features=["col1"],
      )
  
      # Arrange
      check = NewCategoryTrainTest()
      # Act X
      result = check.run(
          train_dataset=train_dataset,
          test_dataset=test_dataset,
          with_display=False,
      )
      # Assert
      assert_that(max(result.value["# New Categories"]), equal_to(1))
      assert_that(
          max(result.value["Ratio of New Categories"]), equal_to(0.25)
      )
      assert_that(
          result.reduce_output()["Max New Categories Ratio"],
          equal_to(0.25),
      )
      assert_that(result.display, has_length(0))
  
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 4 for calling a global function with example usage: test_new_category_without_display() without return types