ó
áp7]c           @   s   d  Z  d d l Z d d l m Z m Z d d l j j Z	 d d l
 m Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d S(   s´   Test 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
iÿÿÿÿN(   t   assert_equalt   assert_raises(   t   GroupSortedt   CheckPanelLagMixinc           B   s)   e  Z e d  „  ƒ Z d „  Z d „  Z RS(   c         C   sW   t  |  j ƒ |  _ } g  t d ƒ D]' } | t j |  j | | j ƒ f ^ q# |  _ d  S(   Ni   (	   R   t   gindt   gt   ranget   swt   lagged_groupst   xt   groupidxt   alla(   t   clsR   t   lag(    (    sE   lib/python2.7/site-packages/statsmodels/stats/tests/test_groups_sw.pyt	   calculate   s    c         C   sL   xE |  j  D]: \ } \ } } t | |  j | j ƒ t | | | ƒ q
 Wd  S(   N(   R   R    t   allet   T(   t   selfR   t   y0t   ylag(    (    sE   lib/python2.7/site-packages/statsmodels/stats/tests/test_groups_sw.pyt   test_values   s    c         C   s/   |  j  } t t t j |  j | |  j j ƒ d  S(   N(   t   mlagR   t
   ValueErrorR   R   R	   R   R
   (   R   R   (    (    sE   lib/python2.7/site-packages/statsmodels/stats/tests/test_groups_sw.pyt   test_raises   s    	(   t   __name__t
   __module__t   classmethodR   R   R   (    (    (    sE   lib/python2.7/site-packages/statsmodels/stats/tests/test_groups_sw.pyR      s   	t   TestBalancedc           B   s   e  Z e d  „  ƒ Z RS(   c         C   s]  t  j d d d g d ƒ |  _ d |  _ t  j d ƒ } | d |  j 7} | d  d  … d  f |  _ i t  j d d d d d d d	 d
 d d d d d d d g g ƒ d 6t  j d d d d d	 d
 d d d d d d g g ƒ d 6t  j d d d d
 d d d d d g	 g ƒ d 6t  j d d d d d d g g ƒ d 6t  j d d d g g ƒ d 6|  _ |  j	 ƒ  d  S(   Ni    i   i   i   i   i
   i   i   i   i   i   i   in   io   ip   iq   ir   (
   t   npt   repeatR   R   t   aranget   NoneR	   t   arrayR   R   (   R   R	   (    (    sE   lib/python2.7/site-packages/statsmodels/stats/tests/test_groups_sw.pyt   setup_class%   s    	$$.%"(   R   R   R   R!   (    (    (    sE   lib/python2.7/site-packages/statsmodels/stats/tests/test_groups_sw.pyR   #   s   t   TestUnBalancedc           B   s   e  Z e d  „  ƒ Z RS(   c         C   s¹  t  j d d d g d d d g ƒ |  _ } d |  _ t  j d ƒ } | d | 7} | d  d  … d  f |  _ i t  j d d d d d	 d
 d d d d d d d d d d d d g g ƒ d 6t  j d d d	 d
 d d d d d d d d d d d g g ƒ d 6t  j d d
 d d d d d d d d d d g g ƒ d 6t  j d d d d d d d d d g	 g ƒ d 6t  j d d d d d d d g g ƒ d 6t  j d d d d d g g ƒ d 6|  _ |  j	 ƒ  d  S(   Ni    i   i   i   i   i
   i   i   i   i   i   i   il   im   in   io   ip   iq   ir   is   it   iu   i   (
   R   R   R   R   R   R   R	   R    R   R   (   R   R   R	   (    (    sE   lib/python2.7/site-packages/statsmodels/stats/tests/test_groups_sw.pyR!   :   s     +	$%$$.(((   R   R   R   R!   (    (    (    sE   lib/python2.7/site-packages/statsmodels/stats/tests/test_groups_sw.pyR"   8   s   (   t   __doc__t   numpyR   t   numpy.testingR    R   t%   statsmodels.stats.sandwich_covariancet   statst   sandwich_covarianceR   t   statsmodels.tools.grouputilsR   t   objectR   R   R"   (    (    (    sE   lib/python2.7/site-packages/statsmodels/stats/tests/test_groups_sw.pyt   <module>	   s   