code: def test_gaussian_full_cov(
      input_dim: int, output_dim: int, N: int, Ntest: int
  ) -> None:
      covar_shape = (output_dim, Ntest, Ntest)
      X, Y = rng.randn(N, input_dim), rng.randn(N, output_dim)
      Xtest = rng.randn(Ntest, input_dim)
      kernel = Matern32()
      model_gp = gpflow.models.GPR((X, Y), kernel=kernel)
  
      mu1, var = model_gp.predict_f(Xtest, full_cov=False)
      mu2, covar = model_gp.predict_f(Xtest, full_cov=True)
  
      assert np.allclose(mu1, mu2, atol=1.0e-10)
      assert covar.shape == covar_shape
      assert var.shape == (Ntest, output_dim)
      for i in range(output_dim):
          assert np.allclose(var[:, i], np.diag(covar[i, :, :]))
  
file_path: GPflow/tests/gpflow/models/test_model_predict.py
imports: from typing import Any, Dict, Optional, Type
  import numpy
  import pytest
  import gpflow
  from gpflow.inducing_variables import InducingPoints
  from gpflow.kernels import Kernel, Matern32
  from gpflow.models.util import InducingPointsLike
label_desc: Use image node_id 3 for calling a global function with example usage: test_gaussian_full_cov(input_dim, output_dim, N, Ntest) without return types