code: def test_lgt_full_with_regression(
      make_weekly_data, estimator, regressor_signs
  ):
      train_df, test_df, coef = make_weekly_data
  
      if estimator == "stan-mcmc":
          lgt = LGT(
              response_col="response",
              date_col="week",
              regressor_col=train_df.columns.tolist()[2:],
              regressor_sign=regressor_signs,
              prediction_percentiles=[5, 95],
              seasonality=52,
              num_warmup=50,
              num_sample=50,
              verbose=False,
              estimator=estimator,
          )
      elif estimator == "pyro-svi":
          lgt = LGT(
              response_col="response",
              date_col="week",
              regressor_col=train_df.columns.tolist()[2:],
              regressor_sign=regressor_signs,
              prediction_percentiles=[5, 95],
              seasonality=52,
              num_steps=10,
              verbose=False,
              estimator=estimator,
          )
      else:
          return None
  
      lgt.fit(train_df)
      predict_df = lgt.predict(test_df)
  
      regression_out = lgt.get_regression_coefs()
      num_regressors = regression_out.shape[0]
  
      expected_columns = [
          "week",
          "prediction_5",
          "prediction",
          "prediction_95",
      ]
      expected_shape = (51, len(expected_columns))
      expected_regression_shape = (6, 7)
  
      assert predict_df.shape == expected_shape
      assert predict_df.columns.tolist() == expected_columns
      assert regression_out.shape == expected_regression_shape
      assert num_regressors == len(train_df.columns.tolist()[2:])
  
imports: from copy import copy
  import pytest
  import numpy
  from orbit.models import LGT
  from orbit.constants.constants import PredictionKeys
label_desc: Use image node_id 5 for calling a global function with example usage: test_lgt_full_with_regression(make_weekly_data, estimator, regressor_signs) and returns: None