code: def _test_template(self, method, *method_args, **algorithms):
      A = self.get_A()
      algorithm1 = (
          "gpa"
          if "algorithm1" not in algorithms
          else algorithms["algorithm1"]
      )
      if "algorithm`" not in algorithms:
          algorithm2 = "gpa_der_free"
      else:
          algorithms["algorithm1"]
      L1, T1 = rotate_factors(
          A, method, *method_args, algorithm=algorithm1
      )
      L2, T2 = rotate_factors(
          A, method, *method_args, algorithm=algorithm2
      )
      self.assertTrue(np.allclose(L1, L2, atol=1e-5))
      self.assertTrue(np.allclose(T1, T2, atol=1e-5))
  
imports: import unittest
  import numpy
  from statsmodels.multivariate.factor_rotation._wrappers import rotate_factors
  from statsmodels.multivariate.factor_rotation._gpa_rotation import ff_partial_target, vgQ_partial_target, ff_target, vgQ_target, CF_objective, orthomax_objective, oblimin_objective, GPA
  from statsmodels.multivariate.factor_rotation._analytic_rotation import target_rotation
label_desc: Use image node_id 5 for calling the TestWrappers obj's underlying member method code with example usage: obj._test_template(method) without return types