code: def test_tuning_none(self):
      with pm.Model() as pmodel:
          pm.Normal("n", 0, 2, size=(3,))
          idata = pm.sample(
              tune=1000,
              draws=500,
              step=DEMetropolisZ(tune=None),
              cores=1,
              chains=2,
              discard_tuned_samples=False,
          )
      for c in idata.posterior.chain:
          # check that all tunable parameters remained constant
          assert (
              len(
                  set(
                      idata.warmup_sample_stats["lambda"]
                      .sel(chain=c)
                      .values
                  )
              )
              == 1
          )
          assert (
              len(
                  set(
                      idata.warmup_sample_stats["scaling"]
                      .sel(chain=c)
                      .values
                  )
              )
              == 1
          )
  
imports: import warnings
  import arviz
  import numpy
  import numpy.testing
  import pytensor
  import pytest
  import pymc
  from pymc.step_methods.metropolis import BinaryGibbsMetropolis, CategoricalGibbsMetropolis, DEMetropolis, DEMetropolisZ, Metropolis, MultivariateNormalProposal, NormalProposal
  from pymc.testing import fast_unstable_sampling_mode
  from tests import sampler_fixtures
  from tests.helpers import RVsAssignmentStepsTester, StepMethodTester
  from tests.models import mv_simple, mv_simple_discrete, simple_categorical
label_desc: Use image node_id 3 for calling the TestDEMetropolisZ obj's underlying member method code with example usage: obj.test_tuning_none() without return types