# -*- coding: utf-8 -*- from pmdarima.compat.statsmodels import bind_df_model, check_seasonal_order # Test binding the degrees of freedom to a class in place. It's hard to test # on a potentially non-existent version of statsmodels, so we have to mock the # class def test_bind_df_model(): class ModelFit(object): k_exog = 2 k_trend = 1 k_ar = 3 k_ma = 2 k_seasonal_ar = 1 k_seasonal_ma = 2 class ARIMAResults(object): pass fit = ModelFit() res = ARIMAResults() # First, there is no 'df_model' in arima res assert not hasattr(res, 'df_model') bind_df_model(fit, res) # Now it should assert hasattr(res, 'df_model') assert res.df_model == 11, res.df_model def test_check_seasonal_order(): # issue370, using an iterable at position 0 returns order = ([1, 2, 3, 52], 0, 1, 7) checked_order = check_seasonal_order(order) assert order == checked_order # Special case where we override the seasonal order that is passed in. order = (0, 0, 0, 1) checked_order = check_seasonal_order(order) assert checked_order == (0, 0, 0, 0)