class_docstr: Test behaviour of query and interventions
docstr: Test query with a list of observations and multiprocessing
code: def test_multi_query(self, bn):
      """Test query with a list of observations and multiprocessing"""
  
      ie = InferenceEngine(bn)
      results_parallel = ie.query(
          [{"a": "a", "b": "x"}, {"a": "c", "e": False}, {"b": "x"}],
          parallel=True,
      )
      results_loop = ie.query(
          [{"a": "a", "b": "x"}, {"a": "c", "e": False}, {"b": "x"}],
          parallel=False,
      )
      single_0 = ie.query({"a": "a", "b": "x"})
      single_1 = ie.query({"a": "c", "e": False})
      single_2 = ie.query({"b": "x"})
  
      assert len(results_parallel) == 3
      assert results_parallel == results_loop
      assert results_parallel[0]["a"]["a"] == 1
      assert results_parallel[1]["e"][False] == 1
      assert results_parallel[2]["b"]["x"] == 1
      assert single_0 == results_parallel[0]
      assert single_1 == results_parallel[1]
      assert single_2 == results_parallel[2]
  
imports: import math
  import pytest
  from causalnex.inference import InferenceEngine
  from causalnex.network import BayesianNetwork
  from causalnex.structure import StructureModel
  from causalnex.structure.notears import from_pandas
label_desc: Use image node_id 14 for calling the TestInferenceEngineDiscrete obj's underlying member method code with example usage: obj.test_multi_query(bn) without return types