code: def test_l1_prox(l1):
      x = np.ones(5)
      penalty = L1Penalty(l1=l1)
      if l1 <= 1.0:
          np.testing.assert_array_equal(
              penalty.projection(x, stepsize=1.0), x - l1
          )
          np.testing.assert_array_equal(
              penalty.projection(-x, stepsize=1.0), -x + l1
          )
      else:
          np.testing.assert_array_equal(
              penalty.projection(x, stepsize=1.0), 0
          )
          np.testing.assert_array_equal(
              penalty.projection(-x, stepsize=1.0), 0
          )
  
imports: import numpy
  import pytest
  from scipy import sparse
  from sklearn.datasets import make_classification
  from lightning.impl.base import BaseClassifier
  from lightning.impl.dataset_fast import get_dataset
  from lightning.classification import SAGClassifier, SAGAClassifier
  from lightning.regression import SAGRegressor, SAGARegressor
  from lightning.impl.sgd_fast import ModifiedHuber
  from lightning.impl.sgd_fast import SmoothHinge
  from lightning.impl.sgd_fast import SquaredHinge
  from lightning.impl.sgd_fast import Log
  from lightning.impl.sgd_fast import SquaredLoss
  from lightning.impl.sag import get_auto_step_size
  from lightning.impl.tests.utils import check_predict_proba
label_desc: Use image node_id 4 for calling a global function with example usage: test_l1_prox(l1) without return types