code: def test_equivalence_equal(self):
      # reference numbers from Jan and Shieh 2019, p. 5
      means = self.means
      nobs = self.nobs
      stds = self.stds
      n_groups = self.n_groups
  
      eps = 0.5
      res0 = anova_generic(means, stds**2, nobs, use_var="equal")
      f = res0.statistic
      res = equivalence_oneway_generic(
          f,
          n_groups,
          nobs.sum(),
          eps,
          res0.df,
          alpha=0.05,
          margin_type="wellek",
      )
      assert_allclose(res.pvalue, 0.0083, atol=0.001)
      assert_equal(res.df, [3, 46])
  
      # the agreement for f-stat looks too low
      assert_allclose(f, 0.0926, atol=0.0006)
  
      res = equivalence_oneway(
          self.data, eps, use_var="equal", margin_type="wellek"
      )
      assert_allclose(res.pvalue, 0.0083, atol=0.001)
      assert_equal(res.df, [3, 46])
  
imports: import numpy
  from numpy.testing import assert_allclose, assert_equal
  import pytest
  from statsmodels.regression.linear_model import OLS
  import statsmodels.stats.power
  import statsmodels.stats.oneway
  from statsmodels.stats.oneway import confint_effectsize_oneway, confint_noncentrality, effectsize_oneway, anova_oneway, anova_generic, equivalence_oneway, equivalence_oneway_generic, power_equivalence_oneway, _power_equivalence_oneway_emp, f2_to_wellek, fstat_to_wellek, wellek_to_f2
  from statsmodels.stats.robust_compare import scale_transform
  from statsmodels.stats.contrast import wald_test_noncent_generic, wald_test_noncent, _offset_constraint
label_desc: Use image node_id 2 for calling the TestOnewayEquivalenc obj's underlying member method code with example usage: obj.test_equivalence_equal() without return types