docstr: Test we don't have a problem when only categorical features
docstr_tok: ["Test","we","do","n't","have","a","problem","when","only","categorical","features"]
code: def test_display_dataset_analysis_3(self):
      """
      Test we don't have a problem when only categorical features
      """
      df = self.df.copy()
      df["x1"] = "a"
      df["x2"] = df["x2"].astype(str)
      encoder = OrdinalEncoder(
          cols=["x1", "x2"], handle_unknown="ignore", return_df=True
      ).fit(df)
  
      df = encoder.transform(df)
  
      clf = cb.CatBoostClassifier(n_estimators=1).fit(
          df[["x1", "x2"]], df["y"]
      )
      xpl = SmartExplainer(model=clf)
      xpl.compile(x=df[["x1", "x2"]])
      report = ProjectReport(
          explainer=xpl,
          project_info_file=os.path.join(
              current_path, "../../data/metadata.yaml"
          ),
          x_train=df[["x1", "x2"]],
      )
  
      report.display_dataset_analysis()
  
imports: import unittest
  from unittest.mock import patch
  import os
  import numpy
  import pandas
  import catboost
  from category_encoders import OrdinalEncoder
  from shapash import SmartExplainer
  from shapash.report.project_report import ProjectReport
label_desc: Use image node_id 14 for calling the TestProjectReport obj's underlying member method code with example usage: obj.test_display_dataset_analysis_3() without return types