code: def test_perturb_real_below_interval_cap(self):
      explore = PerturbExplore(factor=0.0, volatility=0)
  
      rng = RNGStub()
      rng.random = lambda: 1.0
      rng.normal = lambda mean, variance: variance
  
      assert explore.perturb_real(rng, 0.0, (1.0, 2.0)) == 1.0
  
      explore.volatility = 1000
  
      assert explore.perturb_real(rng, 0.0, (1.0, 2.0)) == 2.0
  
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 2 for calling the TestPerturb obj's underlying member method code with example usage: obj.test_perturb_real_below_interval_cap() without return types