
    M/Ph$                         d dl mZ d dlmZmZ d dlmZ d dlmZ d dlZd dlm	Z	  ej
                    Z ej
                    Z G d d          ZdS )	    )assert_equal)SimpleTabledefault_txt_fmt)default_latex_fmt)default_html_fmtN)OLSc                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
TestSimpleTablec                     d}ddgddgg}d}d}t          |||t                    }d	|                                z  }t          |t	          |                     d S )
Nz
=====================
      header1 header2
---------------------
stub1 1.30312 2.73999
stub2 1.95038 2.65765
---------------------
a7l[?g@\4?g B@stub1stub2header1header2txt_fmt
%s
r   r   as_textr   strselfdesired	test1data
test1stubstest1headeractuals         b/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/iolib/tests/test_table.pytest_simple_table_1z#TestSimpleTable.test_simple_table_1   sv     w''(:;	'
,YZ%46 6 6FNN,,,Wc&kk*****    c                 <   d}ddgddgg}ddgdd	gg}d
dg}ddg}ddg}ddg}t          |||t                    }t          |||t                    }	|                    |	           d|                                z  }
t	          |t          |
                     d S )Nau  
=============================================================
           header s1 header d1            header s2 header d2
-------------------------------------------------------------
stub R1 C1  10.30312  10.73999 stub R1 C2  50.95038  50.65765
stub R2 C1  90.30312  90.73999 stub R2 C2  40.95038  40.65765
-------------------------------------------------------------
m2$@"z%@ްmQfV@~W[V@bEyI@q-TI@bEyD@q-TD@
stub R1 C1
stub R2 C1
stub R1 C2
stub R2 C2	header s1	header d1	header s2	header d2r   r   )r   r   extend_rightr   r   r   r   r   data1data2stubs1stubs2r   r   actual1actual2r    s              r!   test_simple_table_2z#TestSimpleTable.test_simple_table_2   s     H%(';<H%(';<--,,eWfoNNNeWfoNNNW%%%GOO---Wc&kk*****r#   c                 <   d}ddgddgg}ddgdd	gg}d
dg}ddg}ddg}ddg}t          |||t                    }t          |||t                    }	|                    |	           d|                                z  }
t	          |t          |
                     d S )Na7  
==============================
           header s1 header d1
------------------------------
stub R1 C1  10.30312  10.73999
stub R2 C1  90.30312  90.73999
           header s2 header d2
------------------------------
stub R1 C2  50.95038  50.65765
stub R2 C2  40.95038  40.65765
------------------------------
r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r   r   )r   r   extendr   r   r   r6   s              r!   test_simple_table_3z#TestSimpleTable.test_simple_table_35   s     H%(';<H%(';<--,,eWfoNNNeWfoNNNwGOO---Wc&kk*****r#   c                 ~   t          d&i dddgdddddd	d
ddddddddddddddddddddddd}t          j                    }t          j                    }d}d}||g}ddg}||g}d }	d!}
t	          ||
|	|||"          fd#}fd$}fd%} ||             ||             ||            d S )'N	data_fmtsz%3.2fz%d
empty_cell 	colwidths   colsepz * row_prez* row_postz *table_dec_above*table_dec_belowheader_dec_below
header_fmtz%sstub_fmttitle_alignrheader_aligndata_alignsstubs_alignlfmttxtg           gDl
@r   r   )r   ltx_fmthtml_fmtc                 Z    d}d                                 z  }t          ||           d S )Nz
*****************************
*       * header1 * header2 *
*****************************
* stub1 *    0.00 *       1 *
* stub2 *    2.00 *       3 *
*****************************
r   )r   r   r   r   r    tbls      r!   test_txt_fmt1z:TestSimpleTable.test_simple_table_4.<locals>.test_txt_fmt1n   s6    G -F )))))r#   c                     d}d                     d          z  }t          ||           d|dd         z  }d                                 z  }t          ||           d S )Nz
\begin{tabular}{lcc}
\toprule
               & \textbf{header1} & \textbf{header2}  \\
\midrule
\textbf{stub1} &       0.0        &        1          \\
\textbf{stub2} &        2         &      3.333        \\
\bottomrule
\end{tabular}
r   Fcenterz 
\begin{center}
%s
\end{center}
rF   as_latex_tabularr   )r   r   r    desired_centeredactual_centeredr]   s        r!   test_ltx_fmt1z:TestSimpleTable.test_simple_table_4.<locals>.test_ltx_fmt1}   s    	G  4 4E 4 B BBF )))  adm	 
 ')=)=)?)??O*:;;;;;r#   c                 Z    d}d                                 z  }t          ||           d S )Nz
<table class="simpletable">
<tr>
    <td></td>    <th>header1</th> <th>header2</th>
</tr>
<tr>
  <th>stub1</th>   <td>0.0</td>      <td>1</td>   
</tr>
<tr>
  <th>stub2</th>    <td>2</td>     <td>3.333</td> 
</tr>
</table>
r   )as_htmlr   r\   s      r!   test_html_fmt1z;TestSimpleTable.test_simple_table_4.<locals>.test_html_fmt1   s4    G -F)))))r#    )dictr   copyr   r   )r   txt_fmt1ltx_fmt1	html_fmt1	cell0data	cell1datarow0datarow1data
table1datar   r   r^   rg   rj   r]   s                 @r!   test_simple_table_4z#TestSimpleTable.test_simple_table_4O   s      WdOO %(S$%A  %u #'$	
 $(4 ), ), *- &*T $(4 %(C (+s '*c '*c $e" %)++$)++			y)u:+
'
,*k:h"*Y@ @ @	* 	* 	* 	* 	*	< 	< 	< 	< 	<2	* 	* 	* 	* 	*" 	ddtr#   c                    	 d}d}||g}ddg}||g}d}d}t          |||t                    		fd} ||            d S )	N   i     gfffffj@)z>stub1%stub_2)z	#header1$zheader&|)rY   c                 ^    d}d                     d          z  }t          ||           d S )Na  
\begin{tabular}{lcc}
\toprule
                    & \textbf{\#header1\$} & \textbf{header\&$|$}  \\
\midrule
\textbf{$>$stub1\%} &          22          &         1053          \\
\textbf{stub\_2}    &          23          &        6250.4         \\
\bottomrule
\end{tabular}
r   Fr`   rc   )r   r   r    tbl_cs      r!   test_ltx_special_charszOTestSimpleTable.test_simple_table_special_chars.<locals>.test_ltx_special_chars   s=    	G  6 6e 6 D DDF)))))r#   )r   ro   )
r   cell0c_datacell1c_data
row0c_data
row1c_datatable1c_datatest1c_stubstest1c_headerr}   r|   s
            @r!   test_simple_table_special_charsz/TestSimpleTable.test_simple_table_special_chars   s|    !;/
&\
#Z1,1L-xXXX	* 	* 	* 	* 	* 	t$$$$$r#   c                    t          j        g ddz  d          }t          j        g ddz  d          }t          j        g dd	z  d
          }t          j        |j                  }|                    |          }|                    |          }|                    |          }|                    d          }|                    d          }|                    ddg          }	|                    ddg          }
t          |	dg         |
                                          }g }dd l	}|
                                5  |                    d           t          |                                                                          D ]#}d|v r|                    |d d                    $	 d d d            n# 1 swxY w Y   g d}t!          t#          |          t#          |                     d S )N)rF   rX         
   i)name)rF   rX   r   r         y)rF   rX   r   r   r         r   r   x)indexsummax)r   r   r   ignore_&   )z&Dep. Variable:                  x_sum z&y_sum          1.4595      0.209      z&y_max          0.2432      0.035      )pandasSeries	DataFramer   joingroupbyaggr   fitwarningscatch_warningssimplefilterr   summary
splitlinesappendr   sorted)r   r   r   r   dfendoexoendo_groups
exo_groupsexo_dfendo_dfreginteresting_linesr   liner   s                   r!   test_regression_with_tuplesz+TestSimpleTable.test_regression_with_tuples   s$   M,,,+#666M///A-C888M222Q6SAAAAG,,,WWQZZwwqzzggajjll3''[[%%
////5%.11&,('226688$$&& 	8 	8!!(+++CKKMM**5577 8 8$;;%,,T#2#Y7778	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8= = = 	VG__f->&?&?@@@@@s   A-G  GGc                     d}ddgddgg}d}d}t          |||t                    }d	|                                z  }t          |t	          |                     d S )
Nz
=====================
      header1 header2
---------------------
stub1 1.30312    2.73
stub2 1.95038     2.6
---------------------
r   gףp=
@r   g@r   r   r   r   r   r   s         r!   test_default_alignmentz&TestSimpleTable.test_default_alignment   st     t_wn5	'
,YZ%46 6 6FNN,,,Wc&kk*****r#   c                     d}ddgddgg}d}d}t          |||t                    }d	|                                z  }t          ||           d S )
Na	  
\begin{center}
\begin{tabular}{lcc}
\toprule
               & \textbf{header1} & \textbf{header2}  \\
\midrule
\textbf{stub1} &      5.394       &       29.3        \\
\textbf{stub2} &       343        &       34.2        \\
\bottomrule
\end{tabular}
\end{center}
g~jt@gL=@iW  gA@r   r   r   r   )r   r   _repr_latex_r   )r   r   testdata	teststubs
testheaderr]   r    s          r!   test__repr_latexz TestSimpleTable.test__repr_latex   sp     DMC;/&	+
(J	"13 3 3C,,...VW%%%%%r#   N)__name__
__module____qualname__r"   r=   r@   rv   r   r   r   r   rk   r#   r!   r
   r
      s        + + +$+ + +,+ + +4Z Z Zx% % %6A A A:+ + +"& & & & &r#   r
   )numpy.testingr   statsmodels.iolib.tabler   r   r   r   r   #statsmodels.regression.linear_modelr   rm   ro   rp   r
   rk   r#   r!   <module>r      s    & & & & & & @ @ @ @ @ @ @ @ 5 5 5 5 5 5 4 4 4 4 4 4  3 3 3 3 3 3!!##!!##	{& {& {& {& {& {& {& {& {& {&r#   