code: def test_estimate_rand(self):
      est1 = self.est_rand.estimate(show_progress=False)
      self.assertSetEqual(set(est1.nodes()), set(["A", "B", "C"]))
      self.assertTrue(
          list(est1.edges()) == [("B", "C")]
          or list(est1.edges()) == [("C", "B")]
      )
  
      est2 = self.est_rand.estimate(
          start_dag=BayesianNetwork([("A", "B"), ("A", "C")]),
          show_progress=False,
      )
      self.assertTrue(
          list(est2.edges()) == [("B", "C")]
          or list(est2.edges()) == [("C", "B")]
      )
  
      est3 = self.est_rand.estimate(
          fixed_edges=[("B", "C")], show_progress=False
      )
      self.assertTrue([("B", "C")] == list(est3.edges()))
  
file_path: pgmpy/pgmpy/tests/test_estimators/test_HillClimbSearch.py
imports: import unittest
  import numpy
  import pandas
  from pgmpy.estimators import HillClimbSearch, K2Score
  from pgmpy.models import BayesianNetwork
label_desc: Use image node_id 5 for calling the TestHillClimbEstimator obj's underlying member method code with example usage: obj.test_estimate_rand() without return types