code: def test_state_names1(self):
      m = BayesianNetwork([("A", "B")])
      d = pd.DataFrame(
          data={"A": [2, 3, 8, 8, 8], "B": ["X", "O", "X", "O", "X"]}
      )
      cpd_b = TabularCPD(
          "B",
          2,
          [[0, 1, 1.0 / 3], [1, 0, 2.0 / 3]],
          evidence=["A"],
          evidence_card=[3],
          state_names={"A": [2, 3, 8], "B": ["O", "X"]},
      )
      mle2 = MaximumLikelihoodEstimator(m, d)
      self.assertEqual(mle2.estimate_cpd("B"), cpd_b)
  
imports: import unittest
  import numpy
  import pandas
  from joblib.externals.loky import get_reusable_executor
  from pgmpy import config
  from pgmpy.estimators import MaximumLikelihoodEstimator
  from pgmpy.factors.discrete import TabularCPD
  from pgmpy.models import BayesianNetwork
label_desc: Use image node_id 5 for calling the TestMLETorch obj's underlying member method code with example usage: obj.test_state_names1() without return types