o
    i                     @   s   d dl Zd dlZd dlm  mZ d dlZd dl	m
  m  mZ d dlm
  m  mZ dd Zdd ZG dd dZG dd	 d	ZdS )
    Nc                  C   s<   g dg dg dg} d}t jdg| R  }||ksJ d S Nabc)ddeeff)ggghhhiiiz a  dd  ggg
b  ee  hhh
c  ff  iii   printingadjoin)dataexpectedadjoined r   `/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/tests/io/formats/test_printing.pytest_adjoin      r   c                  C   s   dd l } | j}zt|tdd}W n ty   t|}Y nw t|d}tj	|dd}|t
|ks6J tj	|dd}||ksCJ d S )Nr   zdisplay.encoding)encodingzutf-8T)quote_stringsF)stringascii_lettersbytescf
get_option	TypeErrorstrdecoder   pprint_thingrepr)r   lettersrawr   resr   r   r   test_repr_binary_type   s   r'   c                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestFormattBasec                 C   s<   g dg dg dg}d}t jdg|R  }||ksJ d S r   r   )selfr   r   r   r   r   r   r   %   r   zTestFormattBase.test_adjoinc                 C   s   g dg dg dg}d}t jdg|R  }||ksJ t }d}|jdg|R  }||ks1J |d}||d d	ksAJ ||d
 d	ksLJ ||d dksWJ d}|jdg|R  }||kshJ |d}||d dksxJ ||d
 dksJ ||d dksJ d S )Nu   あr   r   r   u   ええr	   )r
   r   	   いいいu,   あ  dd  ggg
b  ええ  hhh
c  ff  いいいr   u2   あ  dd    ggg
b   ええ  hhh
c   ff    いいい
r            uP   あ       dd         ggg
b        ええ       hhh
c        ff         いいい         )r   r   fmtEastAsianTextAdjustmentsplitlen)r)   r   r   r   adjcolsr   r   r   test_adjoin_unicode-   s&   

z#TestFormattBase.test_adjoin_unicodec                    s   t    fdd}|dddddksJ |ddddd	ks J |ddd
ddks+J |dddddks6J |ddddd	ksAJ |ddd
ddksLJ |dddddksWJ |dddddksbJ |ddd
ddksmJ |dddddksxJ |dddddksJ |ddd
ddksJ d S )Nc                    s    j | gg|R i |d S )Nr   )justify)xargskwargsr8   r   r   justN   s   z*TestFormattBase.test_justify.<locals>.justabc   left)modezabc  centerz abc rightz  abc	   パンダ
   u   パンダ    u     パンダ  u       パンダ)r4   r5   )r)   r@   r   r?   r   test_justifyK   s   zTestFormattBase.test_justifyc                 C   sx   t  }|ddksJ |ddksJ |ddksJ |ddks(J |ddks1J |d	d
ks:J d S )NrA      rG      u   ﾊﾟﾝﾀﾞrB   u   パンダpanda   u   ﾊﾟﾝﾀﾞpandarH   )r4   r5   r7   )r)   r8   r   r   r   test_east_asian_lena   s   z#TestFormattBase.test_east_asian_lenc                 C   s   t  }|ddksJ tdd t  }|ddks!J W d    n1 s+w   Y  g dg dg dg}d	}|jd
g|R  }||ksLJ d S )N   ¡¡ab   z!display.unicode.ambiguous_as_wideTrK   r*   r+   )r
   rN   r,   u6   あ  dd    ggg 
b   ええ  ¡¡ab
c   ff    いいいr   )r4   r5   r7   r   option_contextr   )r)   r8   r   r   r   r   r   r   test_ambiguous_widthl   s   z$TestFormattBase.test_ambiguous_widthN)__name__
__module____qualname__r   r:   rI   rM   rQ   r   r   r   r   r(   $   s    r(   c                   @   s@   e Zd Zejddd Zdd Zdd Zdd	 Z	d
d Z
dS )TestTableSchemaReprz7ignore:.*signature may therefore change.*:FutureWarningc              	   C   s*  |j |jd}tdddgi}|d ||g}ddhh dg}tdd	}t||D ](\}}| |j|}	W d    n1 sAw   Y  t|	d
 	 |ksRJ q*tdd	}
|  |
 |j|}	W d    n1 sow   Y  W d    n1 s~w   Y  h d}t|	d
 	 |ksJ d S )NconfigAr/   r   
text/plain!application/vnd.dataresource+json>   	text/htmlrY   rZ   display.html.table_schemaTr   zdisplay.latex.repr>   
text/latexr[   rY   rZ   )
instancerW   pd	DataFramerP   zipdisplay_formatterformatsetkeys)r)   ipipythondfobjectsexpected_keysoptobjr   	formatted
with_latexr   r   r   test_publishes{   s(    z"TestTableSchemaRepr.test_publishesc                 C   s   t jddgg dg}t jtjdt||d}t dd}| |j	|j
dj|}W d    n1 s8w   Y  d	d
h}t|d  |ksMJ d S )NrX   Br   rB   )columnsr\   TrV   rY   r[   r   )r_   
MultiIndexfrom_productr`   nprandomrandnr7   rP   r^   rW   rb   rc   rd   re   )r)   rf   midxrh   rk   rm   r   r   r   r   test_publishes_not_implemented   s   z2TestTableSchemaRepr.test_publishes_not_implementedc                 C   sV   t dddgi}t dd | }W d    n1 sw   Y  |d us)J d S )NrX   r/   r   r\   Tr_   r`   rP   _repr_data_resource_r)   rh   resultr   r   r   test_config_on   
   
z"TestTableSchemaRepr.test_config_onc                 C   sV   t dddgi}t dd | }W d    n1 sw   Y  |d u s)J d S )NrX   r/   r   r\   Fry   r{   r   r   r   test_config_default_off   r~   z+TestTableSchemaRepr.test_config_default_offc                 C   s   |j |jdjj}d}tdd d|v sJ || jsJ W d    n1 s)w   Y  d|v s4J || jr;J tdd! d|v sHJ || jsOJ |j |jdjt W d    d S 1 sew   Y  d S )NrV   rZ   r\   T)	r^   rW   rb   
formattersr_   rP   enabledrc   r   )r)   rf   r   mimetyper   r   r   #test_enable_data_resource_formatter   s   "z7TestTableSchemaRepr.test_enable_data_resource_formatterN)rR   rS   rT   pytestmarkfilterwarningsro   rx   r}   r   r   r   r   r   r   rU   z   s    
rU   )numpyrt   r   pandas._config.config_configrW   r   pandasr_   pandas.io.formats.formatioformatsrc   r4   pandas.io.formats.printingr   r   r'   r(   rU   r   r   r   r   <module>   s    	V