code: def test_sk_ElasticNet_equivalence(sparse_X, fit_intercept, positive):
      n_samples, n_features = 30, 50
      X, y = build_dataset(n_samples, n_features, sparse_X=sparse_X)
  
      params = {
          "l1_ratio": 0.5,
          "tol": 1e-14,
          "fit_intercept": fit_intercept,
          "positive": positive,
      }
  
      reg_celer = ElasticNet(**params).fit(X, y)
      reg_sk = sk_ElasticNet(**params).fit(X, y)
  
      assert_allclose(
          reg_celer.coef_, reg_sk.coef_, rtol=1e-3, atol=1e-3
      )
      if fit_intercept:
          assert_allclose(reg_celer.intercept_, reg_sk.intercept_)
  
file_path: celer/celer/tests/test_enet.py
imports: from itertools import product
  import pytest
  import numpy
  from numpy.linalg import norm
  from numpy.testing import assert_allclose, assert_array_less, assert_equal
  from sklearn.linear_model import enet_path, ElasticNet, ElasticNetCV
  from celer import Lasso, ElasticNet, celer_path, ElasticNetCV
  from celer.utils.testing import build_dataset
label_desc: Use image node_id 4 for calling a global function with example usage: test_sk_ElasticNet_equivalence(sparse_X, fit_intercept, positive) without return types