code: def test_multi_fit(self, get_iris_data):
      ground_truth_petal_length = np.array(
          [
              [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
              [0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2],
              [2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2],
              [2, 1, 2, 1, 2, 2, 0, 1, 2, 2, 2, 2, 2, 2, 2],
              [2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2],
          ]
      )  # ground truth is generated by manually use DecionTree to extract thresholds
  
      ground_truth_petal_width = np.array(
          [
              [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
              [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2],
              [2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1],
              [2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1],
              [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2],
          ]
      )  # ground truth is generated by manually use DecionTree to extract thresholds
  
      iris = get_iris_data.copy(deep=True)
  
      dt_multi = DecisionTreeSupervisedDiscretiserMethod(
          tree_params={"max_depth": 3, "random_state": 2020},
          mode="multi",
      )
  
      tree_discretiser = dt_multi.fit(
          feat_names=[
              "sepal length (cm)",
              "sepal width (cm)",
              "petal length (cm)",
              "petal width (cm)",
          ],
          dataframe=iris,
          target_continuous=False,
          target="target",
      )
  
      discretiser_petal_length = tree_discretiser.transform(
          iris[["petal length (cm)"]]
      ).values
      discretiser_petal_width = tree_discretiser.transform(
          iris[["petal width (cm)"]]
      ).values
      assert (
          ground_truth_petal_length
          == discretiser_petal_length.reshape(-1, 15)
      ).all()
      assert (
          ground_truth_petal_width
          == discretiser_petal_width.reshape(-1, 15)
      ).all()
  
file_path: causalnex/tests/discretiser/test_decision_tree.py
imports: import numpy
  import pytest
  from causalnex.discretiser.discretiser_strategy import DecisionTreeSupervisedDiscretiserMethod
label_desc: Use image node_id 6 for calling the TestDecisionTree obj's underlying member method code with example usage: obj.test_multi_fit(get_iris_data) without return types