docstr: ...Test RobustLinearRegression fit with different solvers and penalties
          
docstr_tok: ["...","Test","RobustLinearRegression","fit","with","different","solvers","and","penalties"]
code: def test_RobustLinearRegression_fit(self):
      """...Test RobustLinearRegression fit with different solvers and penalties"""
      X, y, weights0, interc0, sample_intercepts0 = self.get_train_data(
          True
      )
  
      solvers = RobustLinearRegression._solvers.keys()
      for i, solver in enumerate(solvers):
          learner_keywords = {
              "C_sample_intercepts": Test.n_samples / Test.noise_level,
              "fit_intercept": True,
              "fdr": Test.target_fdr,
              "max_iter": 3000,
              "tol": 1e-7,
              "solver": solver,
              "penalty": "none",
              "verbose": False,
          }
  
          learner = RobustLinearRegression(**learner_keywords)
          learner.fit(X, y)
  
          weights = [
              1.82145051,
              2.32011366,
              2.6886905,
              2.53289584,
              2.86991904,
          ]
          interc = -2.9877245464563931
          fdp_ = 0.23076923076923078
          power = 1.0
  
          np.testing.assert_array_almost_equal(
              weights, learner.weights, 2
          )
          self.assertAlmostEqual(interc, learner.intercept, 2)
          self.assertAlmostEqual(
              fdp_,
              support_fdp(
                  sample_intercepts0, learner.sample_intercepts
              ),
              4,
          )
          self.assertAlmostEqual(
              power,
              support_recall(
                  sample_intercepts0, learner.sample_intercepts
              ),
              4,
          )
  
      X, y, weights0, interc0, sample_intercepts0 = self.get_train_data(
          False
      )
      for i, solver in enumerate(solvers):
          learner_keywords = {
              "C_sample_intercepts": Test.n_samples / Test.noise_level,
              "fit_intercept": False,
              "fdr": Test.target_fdr,
              "max_iter": 3000,
              "tol": 1e-7,
              "solver": solver,
              "verbose": False,
          }
          learner = RobustLinearRegression(**learner_keywords)
          learner.fit(X, y)
          weights = [
              1.82341444,
              2.3226882,
              2.68081823,
              2.53942366,
              2.86439685,
          ]
          interc = None
          fdp_ = 0.23076923076923078
          power = 1.0
  
          np.testing.assert_array_almost_equal(
              weights, learner.weights, 2
          )
          self.assertEqual(interc, learner.intercept)
          self.assertAlmostEqual(
              fdp_,
              support_fdp(
                  sample_intercepts0, learner.sample_intercepts
              ),
              4,
          )
          self.assertAlmostEqual(
              power,
              support_recall(
                  sample_intercepts0, learner.sample_intercepts
              ),
              4,
          )
  
imports: import itertools
  import unittest
  import numpy
  from tick.base.inference import InferenceTest
  from tick.robust import RobustLinearRegression
  from tick.simulation import weights_sparse_gauss, features_normal_cov_toeplitz
  from tick.metrics import support_fdp, support_recall
label_desc: Use image node_id 3 for calling the Test obj's underlying member method code with example usage: obj.test_RobustLinearRegression_fit() without return types