U
    sVc                     @   s   d dl Z d dlZd dlZd dlmZmZmZ d dlm	Z
 d dlmZmZ edZejddgZdd Zd	d
 Zdd Zdd Zdd Zdd Zdd Zejdd dgdd Zejdd dgdd Zdd Zejdddgd d! ZdS )"    N)	DataFrame
MultiIndexoptions)ExcelWriter_XlwtWriterxlwtzext,z.xlsc              
   C   sl   t dddg}ttjdd|d}d}tjt|d* t	
| }|j|d	d
 W 5 Q R X W 5 Q R X d S )Nsite 2014heightr   Zweight
      columnsz_Writing to Excel with MultiIndex columns and no index \('index'=False\) is not yet implemented.matchFindex)r   from_tuplesr   nprandomrandnpytestraisesNotImplementedErrortmensure_cleanto_excel)extcolsdfmsgpath r&   C/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/io/excel/test_xlwt.py9test_excel_raise_error_on_multiindex_columns_and_no_index   s    r(   c              	   C   sN   t dddg}ttjdd|d}t| }|j|dd W 5 Q R X d S )	Nr   r   r   r   r   r   Tr   	r   r   r   r   r   r   r   r   r    r!   r"   r#   r%   r&   r&   r'   ,test_excel_multiindex_columns_and_index_true'   s    r+   c              	   C   sN   t dddg}ttjdd|d}t| }|j|dd W 5 Q R X d S )Nr   r   r   r   r   r   Fr)   r*   r&   r&   r'   test_excel_multiindex_index0   s    r,   c                 C   s   ddiddddddddd}t |}|jjs6ttjj|jj	ksJttjj|jj
ks^ttjj|jjksrttjj|jjksttjj|jjksttjj|jjkstd S )	NboldTZthin)toprightbottomleftcenterr.   )Z
horizontalZvertical)fontborders	alignment)r   Z_convert_to_styler3   r-   AssertionErrorr   ZBordersZTHINr4   r.   r/   r0   r1   Z	AlignmentZHORZ_CENTERr5   ZhorzZVERT_TOPZvert)r!   ZhstyleZ	xls_styler&   r&   r'   test_to_excel_styleconverter:   s    
r7   c              
   C   sF   d}t | .}tjt|d t|ddd W 5 Q R X W 5 Q R X d S )Nz'Append mode is not supported with xlwt!r   r   a)enginemode)r   r   r   r   
ValueErrorr   )r!   r$   fr&   r&   r'   test_write_append_mode_raisesK   s    r=   c              
   C   sP   t tjdd}t| *}tjtdd || W 5 Q R X W 5 Q R X d S )Nr   r   +As the xlwt package is no longer maintainedr   )	r   r   r   r   r   r   assert_produces_warningFutureWarningr    )r!   r#   r%   r&   r&   r'   test_to_excel_xlwt_warningS   s    rA   c              	   C   s,   t jtddd dtjjj_W 5 Q R X d S )Nr>   F)r   Zcheck_stacklevelr   )r   r?   r@   r   ioexcelZxlswriter)r!   r&   r&   r'   !test_option_xls_writer_deprecated^   s    rE   style_compression   c                 C   s   d|i}t | h}td}t jt|dD t|fddi|$}|jjj	|ksVt
t | W 5 Q R X W 5 Q R X W 5 Q R X d S )NrF   zUse of **kwargs is deprecatedr   r9   r   )r   r   reescaper?   r@   r   book_Workbook__stylesrF   r6   r   r    )r!   rF   kwargsr<   r$   rD   r&   r&   r'   test_kwargsh   s    
rM   c              
   C   sZ   d|i}t | >}t|d|d$}|jjj|ks6tt | W 5 Q R X W 5 Q R X d S )NrF   r   )r9   engine_kwargs)	r   r   r   rJ   rK   rF   r6   r   r    )r!   rF   rN   r<   rD   r&   r&   r'   test_engine_kwargsw   s
    rO   c              
   C   sZ   t | F}t|2}|ji ks$t|jd}|jd|iksBtW 5 Q R X W 5 Q R X d S )NZ	test_name)r   r   r   Zsheetsr6   rJ   Z	add_sheet)r!   r<   rD   Zsheetr&   r&   r'   test_book_and_sheets_consistent   s
    
rP   attrZfm_dateZfm_datetimec                 C   s`   t | L}t|dd4}| d}t jt|d t|| W 5 Q R X W 5 Q R X W 5 Q R X d S )Nr   )r9   z is not part of the public APIr   )r   r   r   r?   r@   getattr)r!   rQ   r%   rD   r$   r&   r&   r'   test_deprecated_attr   s
    
rS   )rH   Znumpyr   r   Zpandasr   r   r   Zpandas._testingZ_testingr   Zpandas.io.excelr   r   Zimportorskipr   markZparametrizeZ
pytestmarkr(   r+   r,   r7   r=   rA   rE   rM   rO   rP   rS   r&   r&   r&   r'   <module>   s*   
	




	