code: def test__strategy_resolves(self):
      # test that the correct mutation function is resolved by
      # different requested strategy arguments
      solver = DifferentialEvolutionSolver(
          rosen, self.bounds, strategy="best1exp"
      )
      assert_equal(solver.strategy, "best1exp")
      assert_equal(solver.mutation_func.__name__, "_best1")
  
      solver = DifferentialEvolutionSolver(
          rosen, self.bounds, strategy="best1bin"
      )
      assert_equal(solver.strategy, "best1bin")
      assert_equal(solver.mutation_func.__name__, "_best1")
  
      solver = DifferentialEvolutionSolver(
          rosen, self.bounds, strategy="rand1bin"
      )
      assert_equal(solver.strategy, "rand1bin")
      assert_equal(solver.mutation_func.__name__, "_rand1")
  
      solver = DifferentialEvolutionSolver(
          rosen, self.bounds, strategy="rand1exp"
      )
      assert_equal(solver.strategy, "rand1exp")
      assert_equal(solver.mutation_func.__name__, "_rand1")
  
      solver = DifferentialEvolutionSolver(
          rosen, self.bounds, strategy="rand2exp"
      )
      assert_equal(solver.strategy, "rand2exp")
      assert_equal(solver.mutation_func.__name__, "_rand2")
  
      solver = DifferentialEvolutionSolver(
          rosen, self.bounds, strategy="best2bin"
      )
      assert_equal(solver.strategy, "best2bin")
      assert_equal(solver.mutation_func.__name__, "_best2")
  
      solver = DifferentialEvolutionSolver(
          rosen, self.bounds, strategy="rand2bin"
      )
      assert_equal(solver.strategy, "rand2bin")
      assert_equal(solver.mutation_func.__name__, "_rand2")
  
      solver = DifferentialEvolutionSolver(
          rosen, self.bounds, strategy="rand2exp"
      )
      assert_equal(solver.strategy, "rand2exp")
      assert_equal(solver.mutation_func.__name__, "_rand2")
  
      solver = DifferentialEvolutionSolver(
          rosen, self.bounds, strategy="randtobest1bin"
      )
      assert_equal(solver.strategy, "randtobest1bin")
      assert_equal(solver.mutation_func.__name__, "_randtobest1")
  
      solver = DifferentialEvolutionSolver(
          rosen, self.bounds, strategy="randtobest1exp"
      )
      assert_equal(solver.strategy, "randtobest1exp")
      assert_equal(solver.mutation_func.__name__, "_randtobest1")
  
      solver = DifferentialEvolutionSolver(
          rosen, self.bounds, strategy="currenttobest1bin"
      )
      assert_equal(solver.strategy, "currenttobest1bin")
      assert_equal(solver.mutation_func.__name__, "_currenttobest1")
  
      solver = DifferentialEvolutionSolver(
          rosen, self.bounds, strategy="currenttobest1exp"
      )
      assert_equal(solver.strategy, "currenttobest1exp")
      assert_equal(solver.mutation_func.__name__, "_currenttobest1")
  
imports: import multiprocessing
  import platform
  from scipy.optimize._differentialevolution import DifferentialEvolutionSolver, _ConstraintWrapper
  from scipy.optimize import differential_evolution
  from scipy.optimize._constraints import Bounds, NonlinearConstraint, LinearConstraint
  from scipy.optimize import rosen
  from scipy.sparse import csr_matrix
  from scipy._lib._pep440 import Version
  import numpy
  from numpy.testing import assert_equal, assert_allclose, assert_almost_equal, assert_array_equal, assert_string_equal, assert_, suppress_warnings
  from pytest import raises, warns
  import pytest
label_desc: Use image node_id 4 for calling the TestDifferentialEvolutionSolver obj's underlying member method code with example usage: obj.test__strategy_resolves() without return types