code: def test_query_error(self):
      self.assertRaises(
          ValueError, self.simp_infer.query, variables="C", do={"T": 1}
      )
      self.assertRaises(
          ValueError,
          self.simp_infer.query,
          variables=["E"],
          do={"T": 1},
      )
      self.assertRaises(
          ValueError, self.simp_infer.query, variables=["C"], do="T"
      )
      self.assertRaises(
          ValueError,
          self.simp_infer.query,
          variables=["C"],
          do={"T": 1},
          evidence="S",
      )
      self.assertRaises(
          ValueError,
          self.simp_infer.query,
          variables=["C"],
          do={"T": 1},
          inference_algo="random",
      )
  
imports: import unittest
  import numpy
  import numpy.testing
  import pandas
  from pgmpy.factors.discrete import TabularCPD
  from pgmpy.inference.CausalInference import CausalInference
  from pgmpy.models import BayesianNetwork
label_desc: Use image node_id 8 for calling the TestDoQuery obj's underlying member method code with example usage: obj.test_query_error() without return types