code: def test_eKzxKxz_same_vs_different_sum_kernels(
      distribution: ProbabilityDistribution,
      kern1: krn.Kernel,
      kern2: krn.Kernel,
      inducing_variable: iv.InducingVariables,
  ) -> None:
      # check the result is the same if we pass different objects with the same value
      same = expectation(
          *(
              distribution,
              (kern1, inducing_variable),
              (kern1, inducing_variable),
          )
      )
      different = expectation(
          *(
              distribution,
              (kern1, inducing_variable),
              (kern2, inducing_variable),
          )
      )
      assert_allclose(same, different, rtol=RTOL)
  
imports: from typing import Any, Callable, Iterable, Mapping, Optional, Sequence
  import numpy
  import pytest
  import tensorflow
  from numpy.testing import assert_allclose
  from tensorflow import convert_to_tensor
  import gpflow
  import gpflow.inducing_variables
  import gpflow.kernels
  from gpflow import mean_functions
  from gpflow.base import AnyNDArray
  from gpflow.config import default_float
  from gpflow.expectations import expectation, quadrature_expectation
  from gpflow.probability_distributions import DiagonalGaussian, Gaussian, MarkovGaussian, ProbabilityDistribution
label_desc: Use image node_id 17 for calling a global function with example usage: test_eKzxKxz_same_vs_different_sum_kernels(distribution, kern1, kern2, inducing_variable) without return types