code: def test_hypergeom_logpmf():
      # symmetries test
      # f(k,N,K,n) = f(n-k,N,N-K,n) = f(K-k,N,K,N-n) = f(k,N,n,K)
      k = 5
      N = 50
      K = 10
      n = 5
      logpmf1 = hypergeom.logpmf(k, N, K, n)
      logpmf2 = hypergeom.logpmf(n - k, N, N - K, n)
      logpmf3 = hypergeom.logpmf(K - k, N, K, N - n)
      logpmf4 = hypergeom.logpmf(k, N, n, K)
      assert_almost_equal(logpmf1, logpmf2, decimal=12)
      assert_almost_equal(logpmf1, logpmf3, decimal=12)
      assert_almost_equal(logpmf1, logpmf4, decimal=12)
  
      # test related distribution
      # Bernoulli distribution if n = 1
      k = 1
      N = 10
      K = 7
      n = 1
      hypergeom_logpmf = hypergeom.logpmf(k, N, K, n)
      bernoulli_logpmf = bernoulli.logpmf(k, K / N)
      assert_almost_equal(
          hypergeom_logpmf, bernoulli_logpmf, decimal=12
      )
  
imports: import pytest
  import itertools
  from scipy.stats import betabinom, betanbinom, hypergeom, nhypergeom, bernoulli, boltzmann, skellam, zipf, zipfian, binom, nbinom, nchypergeom_fisher, nchypergeom_wallenius, randint
  import numpy
  from numpy.testing import assert_almost_equal, assert_equal, assert_allclose, suppress_warnings
  from scipy.special import binom
  from scipy.optimize import root_scalar
  from scipy.integrate import quad
label_desc: Use image node_id 3 for calling a global function with example usage: test_hypergeom_logpmf() without return types