o
    ŀgB%                     @   s   d dl Zd dlZd dlZd dlmZmZ d dlmZ	 dd Z
dd Zdd Zd	d
 Zdd Zdd Zdd Zdd ZG dd dZdS )    N)Index
MultiIndexc                 C   sP   d}t jt|d |   | d d   W d    d S 1 s!w   Y  d S )NMultiIndex.format is deprecatedmatchr   )tmassert_produces_warningFutureWarningformat)idxmsg r   [/var/www/html/myenv/lib/python3.10/site-packages/pandas/tests/indexes/multi/test_formats.pytest_format   s
   "r   c                  C   sn   t ddgddggg dg dgddgd} d}tjt|d | jdd	 W d    d S 1 s0w   Y  d S )
Nr      )r   r   r   r   )r   r   r   r   )levelscodesnamesr   r   Tr   r   r   r   r	   r
   )indexr   r   r   r   test_format_integer_names   s   ""r   c              	   C   sz   d}t dd# tjt|d |  }W d    n1 sw   Y  W d    n1 s.w   Y  |d dks;J d S )Nr   zdisplay.multi_sparseFr   r   zfoo  two)pdoption_contextr   r   r	   r
   )r   r   resultr   r   r   test_format_sparse_config   s   
r   c                  C   s   t ddgddgddgdggg dg dg dg dgd} d}tjt|d	 |  }W d    n1 s5w   Y  |d
 dksBJ d S )Nr   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r      z
1  0  0  0r   )r   r   r   r   r   r   test_format_sparse_display%   s   	
r   c                  C   sp   t dd( g dg dg dd} t | ddgj}d	t|vs&J W d    d S 1 s1w   Y  d S )
Nzdisplay.encodingzUTF-8u   א   r                  	   abcr*   r+   \)r   r   	DataFrame	set_indexr   repr)dr   r   r   r   test_repr_with_unicode_data5   s
   "r2   c                  C   sb   t jtdtdgddgd} d}tjt|d tt|  W d    d S 1 s*w   Y  d S )Nabr   firstsecondr   zMust pass both levels and codesr   )	r   from_productlistrangepytestraises	TypeErrorevalr0   )mir   r   r   r   test_repr_roundtrip_raises<   s
   "r>   c                  C   s:   g dg dg dd} t | ddgj}t| d S )Nr   r!   r%   r)   r*   r+   )r   r.   r/   r   str)r1   r   r   r   r    test_unicode_string_with_unicodeC   s   r@   c                 C   sT   |  d} tdd  t|  dt| vsJ W d    d S 1 s#w   Y  d S )N2   display.max_seq_itemsz...)repeatr   r   r0   r?   )r   r   r   r   test_repr_max_seq_item_settingI   s
   
"rD   c                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )TestReprc                 C   sb   t g dt ddgg}tddttddg}t||d}t|j t|d d S )N)u   a/σu   b/σu   c/σr   r   r   r    r   )	r   nparangerC   tiler   r0   r   get_level_values)selfr   r   r   r   r   r   test_unicode_repr_issuesR   s
   "
z!TestRepr.test_unicode_repr_issuesc                 C   sJ   t dd | }d}||ksJ W d    d S 1 sw   Y  d S )NrB   r$   MultiIndex([('foo', 'one'),
            ('foo', 'two'),
            ('bar', 'one'),
            ('baz', 'two'),
            ('qux', 'one'),
            ('qux', 'two')],
           names=['first', 'second']))r   r   __repr__rJ   r   r   expectedr   r   r   "test_repr_max_seq_items_equal_to_nZ   s
   "z+TestRepr.test_repr_max_seq_items_equal_to_nc                 C   s   |d d   }d}||ksJ |  }d}||ksJ tdd |  }d}||ks/J W d    n1 s9w   Y  tdd |  }d}||ksQJ W d    d S 1 s\w   Y  d S )Nr   zBMultiIndex([('foo', 'one')],
           names=['first', 'second'])rL   rB   r#   zMultiIndex([('foo', 'one'),
            ('foo', 'two'),
            ...
            ('qux', 'one'),
            ('qux', 'two')],
           names=['first', 'second'], length=6)zWMultiIndex([...
            ('qux', 'two')],
           names=['first', ...], length=6))rM   r   r   rN   r   r   r   	test_reprh   s    "zTestRepr.test_reprc                 C   s   d}t td| dg|  }t jdd|d d}tj||jd |gg d	d
}|d d  }d}||ks9J |d d d  }d}||ksJJ | }d}||ksVJ d S )N  r*   abc
2000-01-01sr    freqperiodsr(   )r*   r+   dtir   r   zQMultiIndex([('a', 9, '2000-01-01 00:00:00')],
           names=['a', 'b', 'dti'])i  zMultiIndex([(  'a',  9, '2000-01-01 00:00:00'),
            (  'a',  9, '2000-01-01 00:08:20'),
            ('abc', 10, '2000-01-01 00:16:40'),
            ('abc', 10, '2000-01-01 00:25:00')],
           names=['a', 'b', 'dti'])a  MultiIndex([(  'a',  9, '2000-01-01 00:00:00'),
            (  'a',  9, '2000-01-01 00:00:01'),
            (  'a',  9, '2000-01-01 00:00:02'),
            (  'a',  9, '2000-01-01 00:00:03'),
            (  'a',  9, '2000-01-01 00:00:04'),
            (  'a',  9, '2000-01-01 00:00:05'),
            (  'a',  9, '2000-01-01 00:00:06'),
            (  'a',  9, '2000-01-01 00:00:07'),
            (  'a',  9, '2000-01-01 00:00:08'),
            (  'a',  9, '2000-01-01 00:00:09'),
            ...
            ('abc', 10, '2000-01-01 00:33:10'),
            ('abc', 10, '2000-01-01 00:33:11'),
            ('abc', 10, '2000-01-01 00:33:12'),
            ('abc', 10, '2000-01-01 00:33:13'),
            ('abc', 10, '2000-01-01 00:33:14'),
            ('abc', 10, '2000-01-01 00:33:15'),
            ('abc', 10, '2000-01-01 00:33:16'),
            ('abc', 10, '2000-01-01 00:33:17'),
            ('abc', 10, '2000-01-01 00:33:18'),
            ('abc', 10, '2000-01-01 00:33:19')],
           names=['a', 'b', 'dti'], length=2000))r   CategoricalIndexr7   
date_ranger   from_arraysr   rM   )rJ   ncirY   r=   r   rO   r   r   r   
test_rjust   s   zTestRepr.test_rjustc           	      C   s   d}t td| dg|  }t jdd|d d}||jd |||g}g d	}tj||d
}|d d  }d}||ks?J |d d  }d}||ksOJ | }d}||ks[J d S )NrR   r*   rS   rT   rU   r    rV   r(   )r*   r+   dti_1dti_2dti_3r   r   zMultiIndex([('a', 9, '2000-01-01 00:00:00', '2000-01-01 00:00:00', ...)],
           names=['a', 'b', 'dti_1', 'dti_2', 'dti_3'])
   a  MultiIndex([('a', 9, '2000-01-01 00:00:00', '2000-01-01 00:00:00', ...),
            ('a', 9, '2000-01-01 00:00:01', '2000-01-01 00:00:01', ...),
            ('a', 9, '2000-01-01 00:00:02', '2000-01-01 00:00:02', ...),
            ('a', 9, '2000-01-01 00:00:03', '2000-01-01 00:00:03', ...),
            ('a', 9, '2000-01-01 00:00:04', '2000-01-01 00:00:04', ...),
            ('a', 9, '2000-01-01 00:00:05', '2000-01-01 00:00:05', ...),
            ('a', 9, '2000-01-01 00:00:06', '2000-01-01 00:00:06', ...),
            ('a', 9, '2000-01-01 00:00:07', '2000-01-01 00:00:07', ...),
            ('a', 9, '2000-01-01 00:00:08', '2000-01-01 00:00:08', ...),
            ('a', 9, '2000-01-01 00:00:09', '2000-01-01 00:00:09', ...)],
           names=['a', 'b', 'dti_1', 'dti_2', 'dti_3'])aE  MultiIndex([(  'a',  9, '2000-01-01 00:00:00', '2000-01-01 00:00:00', ...),
            (  'a',  9, '2000-01-01 00:00:01', '2000-01-01 00:00:01', ...),
            (  'a',  9, '2000-01-01 00:00:02', '2000-01-01 00:00:02', ...),
            (  'a',  9, '2000-01-01 00:00:03', '2000-01-01 00:00:03', ...),
            (  'a',  9, '2000-01-01 00:00:04', '2000-01-01 00:00:04', ...),
            (  'a',  9, '2000-01-01 00:00:05', '2000-01-01 00:00:05', ...),
            (  'a',  9, '2000-01-01 00:00:06', '2000-01-01 00:00:06', ...),
            (  'a',  9, '2000-01-01 00:00:07', '2000-01-01 00:00:07', ...),
            (  'a',  9, '2000-01-01 00:00:08', '2000-01-01 00:00:08', ...),
            (  'a',  9, '2000-01-01 00:00:09', '2000-01-01 00:00:09', ...),
            ...
            ('abc', 10, '2000-01-01 00:33:10', '2000-01-01 00:33:10', ...),
            ('abc', 10, '2000-01-01 00:33:11', '2000-01-01 00:33:11', ...),
            ('abc', 10, '2000-01-01 00:33:12', '2000-01-01 00:33:12', ...),
            ('abc', 10, '2000-01-01 00:33:13', '2000-01-01 00:33:13', ...),
            ('abc', 10, '2000-01-01 00:33:14', '2000-01-01 00:33:14', ...),
            ('abc', 10, '2000-01-01 00:33:15', '2000-01-01 00:33:15', ...),
            ('abc', 10, '2000-01-01 00:33:16', '2000-01-01 00:33:16', ...),
            ('abc', 10, '2000-01-01 00:33:17', '2000-01-01 00:33:17', ...),
            ('abc', 10, '2000-01-01 00:33:18', '2000-01-01 00:33:18', ...),
            ('abc', 10, '2000-01-01 00:33:19', '2000-01-01 00:33:19', ...)],
           names=['a', 'b', 'dti_1', 'dti_2', 'dti_3'], length=2000))r   rZ   r7   r[   r   r   r\   rM   )	rJ   r]   r^   rY   r   r   r=   r   rO   r   r   r   test_tuple_width   s   zTestRepr.test_tuple_widthc                 C   s$   t dg}d}t||ksJ d S )N)>ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccz^MultiIndex([('cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc',)],
           ))r   from_tuplesr?   )rJ   datarO   r   r   r   test_multiindex_long_element   s   z%TestRepr.test_multiindex_long_elementN)	__name__
__module____qualname__rK   rP   rQ   r_   rd   rh   r   r   r   r   rE   Q   s    &.5rE   )numpyrF   r9   pandasr   r   r   pandas._testing_testingr   r   r   r   r   r2   r>   r@   rD   rE   r   r   r   r   <module>   s    		