docstr: Re-use of the step method instance with cores=1 must not leak tuning information between chains.
docstr_tok: ["Re-use","of","the","step","method","instance","with","cores=1","must","not","leak","tuning","information","between","chains","."]
code: def test_tuning_reset(self):
      """Re-use of the step method instance with cores=1 must not leak tuning information between chains."""
      with pm.Model() as pmodel:
          D = 3
          pm.Normal("n", 0, 2, size=(D,))
          idata = pm.sample(
              tune=600,
              draws=500,
              step=Metropolis(tune=True, scaling=0.1),
              cores=1,
              chains=3,
              discard_tuned_samples=False,
          )
      for c in idata.posterior.chain:
          # check that the tuned settings changed and were reset
          assert (
              idata.warmup_sample_stats["scaling"]
              .sel(chain=c)
              .values[0]
              == 0.1
          )
          tuned = (
              idata.warmup_sample_stats["scaling"]
              .sel(chain=c)
              .values[-1]
          )
          assert tuned != 0.1
          np.testing.assert_array_equal(
              idata.sample_stats["scaling"].sel(chain=c).values, tuned
          )
  
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 TestMetropolis obj's underlying member method code with example usage: obj.test_tuning_reset() without return types