code: def test_basic(self):
      case = [
          tra.TransfFrank,
          0.5,
          0.9,
          (2,),
          0.4710805107852225,
          0.9257812360337806,
      ]
      cop_tr, v1, v2, args, cdf2, pdf2 = case
      cop = FrankCopula()
  
      pdf1 = cop.pdf([v1, v2], args=args)
      assert_allclose(pdf1, pdf2, rtol=1e-13)
      logpdf1 = cop.logpdf([v1, v2], args=args)
      assert_allclose(logpdf1, np.log(pdf2), rtol=1e-13)
  
      cdf1 = cop.cdf([v1, v2], args=args)
      assert_allclose(cdf1, cdf2, rtol=1e-13)
  
      assert isinstance(cop.transform, cop_tr)
  
      # round trip conditional, no verification
      u = [0.6, 0.5]
      cdfc = cop.cdfcond_2g1(u, args=args)
      ppfc = cop.ppfcond_2g1(cdfc, [0.6], args=args)
      assert_allclose(ppfc, u[1], rtol=1e-13)
  
imports: import warnings
  from statsmodels.compat.pytest import pytest_warns
  from statsmodels.compat.scipy import SP_LT_15
  import numpy
  from numpy.testing import assert_allclose, assert_array_almost_equal
  import pytest
  from scipy import stats
  from statsmodels.distributions.copula.archimedean import ArchimedeanCopula, ClaytonCopula, FrankCopula, GumbelCopula, _debyem1_expansion
  from statsmodels.distributions.copula.copulas import CopulaDistribution
  import statsmodels.distributions.copula.depfunc_ev
  from statsmodels.distributions.copula.elliptical import GaussianCopula, StudentTCopula
  from statsmodels.distributions.copula.extreme_value import ExtremeValueCopula, copula_bv_ev
  from statsmodels.distributions.copula.other_copulas import IndependenceCopula
  import statsmodels.distributions.copula.transforms
  from statsmodels.distributions.tools import approx_copula_pdf, frequencies_fromdata
  from statsmodels.tools.numdiff import approx_fprime_cs, approx_hess
label_desc: Use image node_id 1 for calling the TestFrank obj's underlying member method code with example usage: obj.test_basic() without return types