code: def setUp(self):
      self.m1 = BayesianNetwork([("A", "C"), ("B", "C")])
      self.model_latent = BayesianNetwork(
          [("A", "C"), ("B", "C")], latents=["C"]
      )
      self.d1 = pd.DataFrame(
          data={"A": [0, 0, 1], "B": [0, 1, 0], "C": [1, 1, 0]}
      )
      self.d2 = pd.DataFrame(
          data={
              "A": [0, 0, 1, 0, 2, 0, 2, 1, 0, 2],
              "B": ["X", "Y", "X", "Y", "X", "Y", "X", "Y", "X", "Y"],
              "C": [1, 1, 1, 0, 0, 0, 0, 0, 0, 0],
          }
      )
      self.est1 = BayesianEstimator(self.m1, self.d1)
      self.est2 = BayesianEstimator(
          self.m1,
          self.d1,
          state_names={"A": [0, 1, 2], "B": [0, 1], "C": [0, 1, 23]},
      )
      self.est3 = BayesianEstimator(self.m1, self.d2)
  
imports: import unittest
  import numpy
  import pandas
  from joblib.externals.loky import get_reusable_executor
  from pgmpy import config
  from pgmpy.estimators import BayesianEstimator
  from pgmpy.factors.discrete import TabularCPD
  from pgmpy.models import BayesianNetwork
label_desc: Use image node_id 1 for calling the TestBayesianEstimator obj's underlying member method code with example usage: obj.setUp() without return types