code: def test_perturb_int_no_out_of_bounds(self):
      explore = PerturbExplore(factor=0.75, volatility=0)
  
      rng = RNGStub()
  
      rng.random = lambda: 1.0
      rng.normal = lambda mean, variance: variance
  
      assert explore.perturb_int(rng, 0, (0, 10)) == 0
  
      rng.random = lambda: 0.0
      rng.normal = lambda mean, variance: variance
  
      assert explore.perturb_int(rng, 10, (0, 10)) == 10
  
imports: import numpy
  import pytest
  from base import RNGStub, TrialStub
  from orion.algo.pbt.explore import PerturbExplore, PipelineExplore, ResampleExplore
  from orion.algo.space import Categorical, Dimension
  from orion.core.utils.flatten import flatten
label_desc: Use image node_id 10 for calling the TestPerturb obj's underlying member method code with example usage: obj.test_perturb_int_no_out_of_bounds() without return types