code: def test_scalar_likelihood_quadrature_predict_log_density(
      likelihood_setup: LikelihoodSetup, mu: TensorType, var: TensorType
  ) -> None:
      x = Datum.X
      likelihood, y = likelihood_setup.likelihood, likelihood_setup.Y
      F1 = likelihood.predict_log_density(x, mu, var, y)
      F2 = ScalarLikelihood.predict_log_density(
          likelihood, x, mu, var, y
      )
      assert_allclose(
          F1, F2, rtol=likelihood_setup.rtol, atol=likelihood_setup.atol
      )
  
imports: from typing import Sequence, Tuple
  import numpy
  import pytest
  import tensorflow
  from numpy.testing import assert_allclose
  import gpflow
  import gpflow.ci_utils
  from gpflow.base import TensorType
  from gpflow.config import default_float, default_int
  from gpflow.likelihoods import HeteroskedasticTFPConditional, Likelihood, MonteCarloLikelihood, MultiLatentLikelihood, MultiLatentTFPConditional, QuadratureLikelihood, ScalarLikelihood, Bernoulli, Beta, Exponential, Gamma, Gaussian, GaussianMC, MultiClass, Ordinal, Poisson, StudentT
label_desc: Use image node_id 7 for calling a global function with example usage: test_scalar_likelihood_quadrature_predict_log_density(likelihood_setup, mu, var) without return types