U
    Kvfl
                     @   sF   d dl Zd dlmZ d dlZd dlmZ d dlmZ G dd dZ	dS )    N)assert_allclose)WLS)_MinimalWLSc                   @   sP   e Zd Zedd Zejdddgdd Zejde	j
e	jgd	d
 ZdS )TestMinimalWLSc                 C   s   t jd}|dd| _| jd|d | _dt t dd t j	  | _
|dd| _d	| j  |d | _dt t dd
 | _d S )Ni           g      ?g      i@g      Y@2   g333333?g     I@)nprandomZRandomStateZrandnexog1sumendog1sinZarangepiweights1exog2Zravelendog2logweights2)clsrs r   K/tmp/pip-unpacked-wheel-2v6byqio/statsmodels/regression/tests/test_tools.pysetup_class
   s     zTestMinimalWLS.setup_classcheckTFc                 C   s0  t | j| j }t| j| j||d }t|j|j t|j|j t | j| j	 }t| j| j	||d }t|j|j t|j|j t | j| j| j
d }t| j| j| j
||d }t|j|j t|j|j t | j| j	| jd }t| j| j	| j||d }t|j|j t|j|j d S )Ncheck_endogcheck_weights)weights)r   r   r   )r   r   r   fitr   r   paramsZresidr   r   r   r   )selfr   resZminresr   r   r   test_equivalence_with_wls   s8    
 

 
 
 
z(TestMinimalWLS.test_equivalence_with_wls	bad_valuec              	   C   s   t jtdd2 | j }||d< t|| j| jddd  W 5 Q R X t jtdd2 | j }||d< t| j| j|ddd  W 5 Q R X d S )Nz(detected in endog, estimation infeasible)matchr   Tr   z*detected in weights, estimation infeasible)	pytestZraises
ValueErrorr   copyr   r   r   r    )r"   r%   Zendogr   r   r   r   test_inf_nan.   s(    
 
 zTestMinimalWLS.test_inf_nanN)__name__
__module____qualname__classmethodr   r(   markZparametrizer$   r
   naninfr+   r   r   r   r   r   	   s   
	
r   )
Znumpyr
   Znumpy.testingr   r(   Z#statsmodels.regression.linear_modelr   Zstatsmodels.regression._toolsr   r   r   r   r   r   <module>   s
   