docstr: An empty query should return all the marginal probabilities of the model's distribution
code: def test_empty_query_returns_marginals(
      self, train_model, train_data_idx, train_data_idx_marginals
  ):
      """An empty query should return all the marginal probabilities of the model's distribution"""
  
      bn = BayesianNetwork(train_model)
      bn.fit_node_states(train_data_idx).fit_cpds(train_data_idx)
  
      ie = InferenceEngine(bn)
      dist = ie.query({})
  
      for node, states in dist.items():
          for state, p in states.items():
              assert math.isclose(
                  train_data_idx_marginals[node][state], p, abs_tol=0.05
              )
  
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 4 for calling the TestInferenceEngineIdx obj's underlying member method code with example usage: obj.test_empty_query_returns_marginals(train_model, train_data_idx, train_data_idx_marginals) without return types