code: def test_scalar_likelihood_quadrature_predict_mean_and_var(
      likelihood_setup: LikelihoodSetup,
      X: TensorType,
      mu: TensorType,
      var: TensorType,
  ) -> None:
      likelihood = likelihood_setup.likelihood
      F1m, F1v = likelihood.predict_mean_and_var(X, mu, var)
      F2m, F2v = ScalarLikelihood.predict_mean_and_var(
          likelihood, X, mu, var
      )
      assert_allclose(
          F1m,
          F2m,
          rtol=likelihood_setup.rtol,
          atol=likelihood_setup.atol,
      )
      assert_allclose(
          F1v,
          F2v,
          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 8 for calling a global function with example usage: test_scalar_likelihood_quadrature_predict_mean_and_var(likelihood_setup, X, mu, var) without return types