U
    sVc                     @   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
 edZejddg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dS )    N)	DataFrame)ExcelWriter
xlsxwriterextz.xlsxc              
   C   s\  t   t d td}W 5 Q R X t| }tddgddgd}t|B}|	| d}|j
}| d }|d|i}|dd | W 5 Q R X t||4}	z|	d	 }
W n  tk
r   |	jd	d
}
Y nX W 5 Q R X z|
d }W n  tk
r   |
d}Y nX z
|j}W n  tk
r>   |jjj}Y nX ||ksNtW 5 Q R X d S )Nignoreopenpyxli@ )ABz#,##0r   
num_formatzB:BZSheet1)nameZB2)warningscatch_warningssimplefilterpytestimportorskiptmensure_cleanr   r   Zto_excelbookZ
worksheetsZ
add_formatZ
set_column
contextlibclosingZload_workbook	TypeErrorZget_sheet_by_namecellZnumber_formatAttributeErrorstyleZ_format_codeAssertionError)r   r   pathframewriterr
   Zwrite_workbookZwrite_worksheetZ
col_formatZread_workbookZread_worksheetr   Zread_num_format r   I/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/io/excel/test_xlsxwriter.pytest_column_format   s4    




r    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 xlsxwriter!matchr   a)enginemode)r   r   r   Zraises
ValueErrorr   )r   msgfr   r   r   test_write_append_mode_raises<   s    r)   nan_inf_to_errorsTFc                 C   sz   dd|ii}t | Z}td}t jt|d6 t|fddi|}|jj|ksXt	W 5 Q R X W 5 Q R X W 5 Q R X d S )Noptionsr*   zUse of **kwargs is deprecatedr!   r$   r   )
r   r   reescapeZassert_produces_warningFutureWarningr   r   r*   r   )r   r*   kwargsr(   r'   r   r   r   r   test_kwargsD   s    
r0   c              
   C   sP   dd|ii}t | 0}t|d|d}|jj|ks8tW 5 Q R X W 5 Q R X d S )Nr+   r*   r   )r$   engine_kwargs)r   r   r   r   r*   r   )r   r*   r1   r(   r   r   r   r   test_engine_kwargsO   s    r2   c              
   C   s^   t | J}t|dd2}|ji ks(t|jd}|jd|iksFtW 5 Q R X W 5 Q R X d S )Nr   )r$   Z	test_name)r   r   r   Zsheetsr   r   Zadd_worksheet)r   r(   r   Zsheetr   r   r   test_book_and_sheets_consistentX   s
    r3   )r   r,   r   r   Zpandasr   Zpandas._testingZ_testingr   Zpandas.io.excelr   r   r   markZparametrizeZ
pytestmarkr    r)   r0   r2   r3   r   r   r   r   <module>   s   
+


