ó
áp7]c           @   s“   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l m Z d  d l m	 Z	 d  d l
 m Z d  d l m Z d e f d „  ƒ  YZ d „  Z d S(	   iÿÿÿÿN(   t   assert_equal(   t   summary_col(   t   add_constant(   t   OLSt   TestSummaryLatexc           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s®   d } d d d d d g } t  | ƒ } d d d d d g } d	 d d
 d d g } t | | ƒ j ƒ  } t | | ƒ j ƒ  } t | | g ƒ j ƒ  } d | } t | | ƒ d  S(   Ns  
\begin{table}
\caption{}
\begin{center}
\begin{tabular}{lcc}
\hline
      &   y I    &   y II    \\
\midrule
const & 7.7500   & 12.4231   \\
      & (1.1058) & (3.1872)  \\
x1    & -0.7500  & -1.5769   \\
      & (0.2368) & (0.6826)  \\
\hline
\end{tabular}
\end{center}
\end{table}
i   i   i   i   i   i   i   i   i    i   s   
%s
(   R   R   t   fitR   t   as_latexR    (   t   selft   desiredt   xt   y1t   y2t   reg1t   reg2t   actual(    (    sD   lib/python2.7/site-packages/statsmodels/iolib/tests/test_summary2.pyt   test_summarycol   s    
c         C   s´   d } d d d d d g } t  | ƒ } d d d d d g } d	 d d
 d d g } t | | ƒ j ƒ  } t | | ƒ j ƒ  } t | | g d d ƒj ƒ  } d | } t | | ƒ d  S(   Ns±   
=================
       y I   y II
-----------------
const 7.7   12.4 
      (1.1) (3.2)
x1    -0.7  -1.6 
      (0.2) (0.7)
=================
Standard errors
in parentheses.
i   i   i   i   i   i   i   i   i    i   t   float_formats   %0.1fs   %s
(   R   R   R   R   t   as_textR    (   R   R   R	   R
   R   R   R   R   (    (    sD   lib/python2.7/site-packages/statsmodels/iolib/tests/test_summary2.pyt   test_summarycol_float_format+   s    
c         C   sE  d d d d d g } t  | ƒ } t j | t j d g d g d g d g d g g ƒ g d ƒ } d	 d d
 d d g } d d d d d g } t | | ƒ j ƒ  } t | | ƒ j ƒ  } t | | g d d d g d t ƒ} d t | ƒ k sð t	 ‚ t | | g d d g d t
 ƒ} d t | ƒ k s)t	 ‚ d t | ƒ k sAt	 ‚ d  S(   Ni   i   i   i   i	   iÿÿÿÿi   i    i   i   i   i   t   regressor_ordert   constt   x1t   drop_omittedt   x2(   R   t   npt   concatenatet   arrayR   R   R   t   Truet   strt   AssertionErrort   False(   R   R	   R   R
   R   R   R   R   (    (    sD   lib/python2.7/site-packages/statsmodels/iolib/tests/test_summary2.pyt   test_summarycol_drop_omittedC   s    ?		c         C   s—  d d d d d g } t  | ƒ } t j | t j d g d g d g d g d g g ƒ g d ƒ } t j | d	 d
 d d g ƒ} d d d d d g } d d d d d g } t | | ƒ j ƒ  } t | | ƒ j ƒ  } i d „  d 6d „  d 6} t | | g d d ƒ} }	 t | | g d d d g d d d | ƒ}	 d }
 xX t	 | ƒ j
 d ƒ D]A } x8 |
 D]0 } | j | ƒ r[| t	 |	 ƒ k s‹t ‚ q[q[WqNWd  S(   Ni   i   i   i   i	   iÿÿÿÿi   i    t   columnsR   t   bt   ai   i   i   i   c         S   s   d j  t |  j ƒ ƒ S(   Ns   {:.3f}(   t   formatt   intt   rsquared(   R	   (    (    sD   lib/python2.7/site-packages/statsmodels/iolib/tests/test_summary2.pyt   <lambda>_   t    t   R2c         S   s   d j  t |  j ƒ ƒ S(   Ns   {0:d}(   R#   R$   t   nobs(   R	   (    (    sD   lib/python2.7/site-packages/statsmodels/iolib/tests/test_summary2.pyR&   `   R'   t   NR   s   %0.4fR   t	   info_dicts   
(   R   R!   R"   (   R   R   R   R   t   pdt	   DataFrameR   R   R   R   t   splitt
   startswithR   (   R   R	   R   R
   R   R   R   R+   t   originalR   t	   variablest   linet   variable(    (    sD   lib/python2.7/site-packages/statsmodels/iolib/tests/test_summary2.pyt#   test_summary_col_ordering_preservedT   s&    ?	c         C   s¥   d d d d d g } t  | ƒ } d d d d d g } t | | ƒ j ƒ  } t j ƒ  $ t j d ƒ | j ƒ  j ƒ  } Wd  QXd	 } | | k } | t k s¡ t	 ‚ d  S(
   Ni   i   i   i   i   i   i   t   ignores   \end{tabular}
\begin{tabular}(
   R   R   R   t   warningst   catch_warningst   simplefiltert   summaryR   R   R   (   R   R	   R
   R   R   t   string_to_findt   result(    (    sD   lib/python2.7/site-packages/statsmodels/iolib/tests/test_summary2.pyt   test_OLSsummaryk   s    (   t   __name__t
   __module__R   R   R   R4   R<   (    (    (    sD   lib/python2.7/site-packages/statsmodels/iolib/tests/test_summary2.pyR      s
   				c       
   C   sR  d d d d d d d d g }  d d d d d d d	 d g } t  | t |  ƒ ƒ j ƒ  } d
 } t j t ƒ # | t | j ƒ  ƒ k s‹ t ‚ Wd  QXt j t ƒ # | t | j	 ƒ  ƒ k s¿ t ‚ Wd  QXt  | |  d t
 ƒj ƒ  } d } t j t ƒ # | t | j ƒ  ƒ k st ‚ Wd  QXt j t ƒ # | t | j	 ƒ  ƒ k sHt ‚ Wd  QXd  S(   Ni   i   i   i   i   i   i   i	   i
   s
   R-squared:t   hasconsts   R-squared (uncentered):(   R   R   R   t   pytestt   warnst   UserWarningR   t   summary2R   R9   R   (   R	   t   yt   reg_with_constantt   r2_strt   reg_without_constant(    (    sD   lib/python2.7/site-packages/statsmodels/iolib/tests/test_summary2.pyt   test_ols_summary_rsquared_label|   s    $$$(   R6   t   numpyR   t   pandasR,   R@   t   numpy.testingR    t   statsmodels.iolib.summary2R   t   statsmodels.tools.toolsR   t#   statsmodels.regression.linear_modelR   t   objectR   RH   (    (    (    sD   lib/python2.7/site-packages/statsmodels/iolib/tests/test_summary2.pyt   <module>   s   p