code: def test_mdlp_discretiser(self, iris_test_data, iris_edge_list):
      df = iris_test_data.copy()
      ground_truth = 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],
              [2, 2, 2, 1, 1, 1, 1, 0, 1, 0],
              [0, 1, 1, 1, 0, 2, 1, 1, 1, 0],
              [2, 1, 1, 1, 1, 1, 1, 1, 1, 0],
              [0, 0, 0, 2, 1, 1, 2, 1, 1, 1],
              [1, 1, 1, 0, 1, 1, 1, 1, 0, 1],
              [2, 2, 2, 2, 2, 2, 1, 2, 2, 2],
              [2, 2, 2, 1, 2, 2, 2, 2, 2, 1],
              [2, 1, 2, 1, 2, 2, 1, 1, 2, 2],
              [2, 2, 2, 2, 2, 2, 2, 2, 1, 2],
              [2, 2, 2, 2, 2, 2, 1, 2, 2, 2],
          ]
      )
      supervised_param = {
          "sepal width (cm)": {"min_depth": 0, "random_state": 2020},
          "petal length (cm)": {"min_depth": 0, "random_state": 2020},
          "petal width (cm)": {"min_depth": 0, "random_state": 2020},
      }
      label = df["sepal length (cm)"]
      df.drop(["sepal length (cm)"], axis=1, inplace=True)
      clf = BayesianNetworkClassifier(
          iris_edge_list,
          discretiser_alg={
              "sepal width (cm)": "mdlp",
              "petal length (cm)": "mdlp",
              "petal width (cm)": "mdlp",
          },
          discretiser_kwargs=supervised_param,
      )
      clf.fit(df, label)
      output = clf.predict(df)
      assert np.array_equal(output.reshape(15, -1), ground_truth)
  
file_path: causalnex/tests/test_network_model.py
imports: import math
  import numpy
  import pytest
  from causalnex.network.sklearn import BayesianNetworkClassifier
label_desc: Use image node_id 7 for calling the TestBayesianCPDs obj's underlying member method code with example usage: obj.test_mdlp_discretiser(iris_test_data, iris_edge_list) without return types