docstr: Test on synthetic dataset
          
code: def test_integration_stability(self):
      """Test on synthetic dataset"""
      X = np.array(
          [
              [0, 0, 1, 1, 0],
              [1, 0, 0, 0, 0],
              [0, 0, 1, 0, 0],
              [1, 0, 0, 0, 0],
              [1, 1, 0, 1, 1],
              [1, 1, 1, 1, 1],
              [0, 1, 1, 1, 1],
              [1, 0, 1, 1, 1],
          ]
      )
      y = np.array([0, 0, 0, 0, 1, 1, 1, 1])
      M = BayesianRuleListClassifier(minsupport=0.02, maxcardinality=1)
      feat = ["ft1", "ft2", "ft3", "ft4", "ft5"]
      M.fit(X, y, feature_names=feat)
      assert (
          np.array(
              [M.predict(np.array([row]), threshold=0.5) for row in X]
          ).flatten()
          == y
      ).all()
  
file_path: imodels/tests/brl_test.py
imports: import os
  import unittest
  import numpy
  import pandas
  from scipy.io.arff import loadarff
  from sklearn.model_selection import train_test_split
  from imodels.rule_list.bayesian_rule_list.bayesian_rule_list import BayesianRuleListClassifier
  from imodels.discretization import ExtraBasicDiscretizer
label_desc: Use image node_id 1 for calling the TestBRL obj's underlying member method code with example usage: obj.test_integration_stability() without return types