
    M/PhC
                         d Z ddlZddlmZmZ ddlmc mZ	 ddl
mZ  G d d          Z G d de          Z G d	 d
e          ZdS )zTest for a helper function for PanelHAC robust covariance

the functions should be rewritten to make it more efficient

Created on Thu May 17 21:09:41 2012

Author: Josef Perktold
    N)assert_equalassert_raises)GroupSortedc                   0    e Zd Zed             Zd Zd ZdS )CheckPanelLagMixinc                      t           j                  x _         fdt          d          D              _        d S )Nc                 T    g | ]$}|t          j        j        |j                  f%S  )swlagged_groupsxgroupidx).0lagclsgs     f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/stats/tests/test_groups_sw.py
<listcomp>z0CheckPanelLagMixin.calculate.<locals>.<listcomp>   sA     . . .  "*35#qzBBC . . .       )r   gindr   rangealla)r   r   s   `@r   	calculatezCheckPanelLagMixin.calculate   sS    ))). . . . .$)!HH. . .r   c                     | j         D ];\  }\  }}t          || j        |         j                   t          |||z              <d S N)r   r   alleT)selfr   y0ylags       r   test_valueszCheckPanelLagMixin.test_values   sU    #y 	) 	)OC"dTYs^-...TCZ((((	) 	)r   c                 v    | j         }t          t          t          j        | j        || j        j                   d S r   )mlagr   
ValueErrorr   r   r   r   r   )r   r$   s     r   test_raiseszCheckPanelLagMixin.test_raises   s9    yj""2DFDfo	' 	' 	' 	' 	'r   N)__name__
__module____qualname__classmethodr   r"   r&   r
   r   r   r   r      sK        . . [.
) ) )
' ' ' ' 'r   r   c                   $    e Zd Zed             ZdS )TestBalancedc                    t          j        g dd          | _        d| _        t          j        d          }|d| j        z  z  }|d d d f         | _        t          j        g dg          t          j        g dg          t          j        g dg          t          j        g dg          t          j        g d	g          d
| _        |                                  d S )Nr         r      
   )r/   r0         r   r1               n   o   p   q   r   )r0   r3   r4   r   r5   r6   r7   r8   r:   r;   r<   r=   )	r3   r4   r   r6   r7   r8   r;   r<   r=   )r4   r   r7   r8   r<   r=   )r   r8   r=   )r   r/   r0   r3   r4   	nprepeatr   r$   aranger   arrayr   r   )r   r   s     r   setup_classzTestBalanced.setup_class$   s    9WWWa((IbMM	R\!!!D&	  4 4 4 5 6 6 % % % & ' 'GGGHII8889::///*++  	r   Nr'   r(   r)   r*   rC   r
   r   r   r,   r,   "   s-          [  r   r,   c                   $    e Zd Zed             ZdS )TestUnBalancedc           	         t          j        g dg d          x| _        }d| _        t          j        d          }|d|z  z  }|d d d f         | _        t          j        g dg          t          j        g dg          t          j        g dg          t          j        g dg          t          j        g d	g          t          j        g d
g          d| _        |                                  d S )Nr.   )r3   r   r2   r2   r7   )r/   r0   r3         r1   r5   r6   l   m   r9   r:   r;   r<   r=   s   t   u   )r0   r3   rI   r1   r5   r6   rK   r9   r:   r;   r<   r=   rL   rM   rN   )r3   r1   r5   r6   r9   r:   r;   r<   r=   rL   rM   rN   )	r5   r6   r:   r;   r<   r=   rL   rM   rN   )r6   r;   r<   r=   rL   rM   rN   )r<   r=   rL   rM   rN   )r   r/   r0   r3   r4   r   r>   )r   r   r   s      r   rC   zTestUnBalanced.setup_class9   s-   )GGGZZZ8884IbMM	RX!!!D&	  C C C D E E 4 4 4 5 6 6 % % % & ' 'GGGHII===>??333455
 
 	r   NrD   r
   r   r   rF   rF   7   s-          [  r   rF   )__doc__numpyr?   numpy.testingr   r   %statsmodels.stats.sandwich_covariancestatssandwich_covariancer   statsmodels.tools.grouputilsr   r   r,   rF   r
   r   r   <module>rV      s         5 5 5 5 5 5 5 5 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4' ' ' ' ' ' ' '&    %   *    '     r   