code: def test_caching(self, n_alt, n_total):
      # Note that we only expect the gq and gls to be close if we are not
      # rescaling the counts, so we are only looping over values that should be
      # cached. In practice the cache is set to values sufficiently large that
      # these differences don't matter, but for this test we are limiting the
      # cache size to a small value in _CACHE_COVERAGE so we can test that the
      # cache lookups are correct.
      raw_gq, raw_gls = self.raw_caller.reference_confidence(
          n_alt, n_total
      )
      cache_gq, cache_gls = self.cache_caller.reference_confidence(
          n_alt, n_total
      )
      self.assertEqual(raw_gq, cache_gq)
      npt.assert_allclose(raw_gls, cache_gls)
  
imports: from unittest import mock
  from absl.testing import absltest
  from absl.testing import parameterized
  import numpy
  import numpy.testing
  from third_party.nucleus.util import variant_utils
  from third_party.nucleus.util import variantcall_utils
  from deepvariant import testdata
  from deepvariant import variant_caller
  from deepvariant.protos import deepvariant_pb2
label_desc: Use image node_id 2 for calling the VariantCallerCacheTests obj's underlying member method code with example usage: obj.test_caching(n_alt, n_total) without return types