code: def test_log_prob(num_edges):
      pyro.set_rng_seed(2**32 - num_edges)
      E = num_edges
      V = 1 + E
      K = V * (V - 1) // 2
      edge_logits = torch.randn(K)
      d = SpanningTree(edge_logits)
      with xfail_if_not_implemented():
          support = d.enumerate_support()
      log_probs = d.log_prob(support)
      assert log_probs.shape == (len(support),)
      log_total = log_probs.logsumexp(0).item()
      assert abs(log_total) < 1e-6, log_total
  
file_path: pyro/tests/distributions/test_spanning_tree.py
imports: import logging
  import os
  from collections import Counter
  import pytest
  import torch
  import pyro
  from pyro.distributions.spanning_tree import NUM_SPANNING_TREES, SpanningTree, find_best_tree, make_complete_graph, sample_tree
  from tests.common import assert_equal, xfail_if_not_implemented
label_desc: Use image node_id 7 for calling a global function with example usage: test_log_prob(num_edges) without return types