o
    g                     @   s.   d dl Z d dlZd dlmZ G dd dZdS )    N)
FrozenListc                   @   s   e Zd Zeg d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dd Zdd Zdd Zdd Zdd ZdS )TestFrozenList)u   אu   בcc                 C   s   g d| _ t| j | _d S )N)               )lstr   	container)self_ r   ^/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/pandas/tests/indexes/test_frozen.pysetup_method   s   
zTestFrozenList.setup_methodc                 O   sP   t d}d}tjt|d ||i | W d    d S 1 s!w   Y  d S )Nz#does not support mutable operationsz/'(_s)?re.(SRE_)?Pattern' object is not callablematch)recompilepytestraises	TypeError)r   argskwargsmutable_regexmsgr   r   r   check_mutable_error   s
   
"z"TestFrozenList.check_mutable_errorc                    s|    fdd}  |  fdd}  |  fdd}  |  fdd}  | d	}|D ]}  t j| q0d S )
Nc                      s   d j d< d S )Nr	   r   r   r   r   r   r   setitem   s   z5TestFrozenList.test_no_mutable_funcs.<locals>.setitemc                      s   d j dd< d S )Nr   r   r   r   r   r   r   r   setslice   s   z6TestFrozenList.test_no_mutable_funcs.<locals>.setslicec                      s    j d= d S )Nr   r   r   r   r   r   delitem#   s   z5TestFrozenList.test_no_mutable_funcs.<locals>.delitemc                      s    j dd= d S )Nr   r   r   r   r   r   r   delslice(   s   z6TestFrozenList.test_no_mutable_funcs.<locals>.delslice)extendpopremoveinsert)r   getattrr   )r   r   r    r!   r"   mutable_methodsmethr   r   r   test_no_mutable_funcs   s   



z$TestFrozenList.test_no_mutable_funcsc                 C   s,   | j dd }| jdd }| || d S )Nr   r   )r   r
   check_resultr   resultexpectedr   r   r   test_slicing_maintains_type2   s   z*TestFrozenList.test_slicing_maintains_typec                 C   s   t |tsJ ||ksJ d S N)
isinstancer   r,   r   r   r   r+   7   s   zTestFrozenList.check_resultc                 C   s"   t | j t| j t| j d S r0   )reprr   strbytesr   r   r   r   test_string_methods_dont_fail;   s   

z,TestFrozenList.test_string_methods_dont_failc                 C   s   t | j t| j d S r0   )r2   unicode_containerr3   r   r   r   r   test_tricky_container@   s   
z$TestFrozenList.test_tricky_containerc                 C   sT   | j d }t| jg d }| || d| j  }tg d| j }| || d S N)r   r   r   )r   r   r
   r+   r,   r   r   r   test_addD   s   

zTestFrozenList.test_addc                 C   s:   | j  }}|dg7 }| || jdg  | || j d S )Nr	   )r   r+   r
   )r   qrr   r   r   	test_iaddM   s   

zTestFrozenList.test_iaddc                 C   s.   | j d}t| jg d }| || d S r8   )r   unionr   r
   r+   r,   r   r   r   
test_unionV   s   zTestFrozenList.test_unionc                 C   s*   | j dg}tg d}| || d S )Nr   )r   r   r   r	   )r   
differencer   r+   r,   r   r   r   test_difference[   s   zTestFrozenList.test_differencec                 C   s0   t g ddg}t ddg}| || d S )N)r   r   r   r   r   r   r   )r   r?   r+   r,   r   r   r   test_difference_dupe`   s   z#TestFrozenList.test_difference_dupec                 C   sB   d}t jt|d t| j W d    d S 1 sw   Y  d S )Nz2^'str' object cannot be interpreted as an integer$r   )r   r   r   r4   r6   )r   r   r   r   r   %test_tricky_container_to_bytes_raisese   s   "z4TestFrozenList.test_tricky_container_to_bytes_raisesN)__name__
__module____qualname__r   r6   r   r   r*   r/   r+   r5   r7   r9   r<   r>   r@   rA   rB   r   r   r   r   r      s    		r   )r   r   pandas.core.indexes.frozenr   r   r   r   r   r   <module>   s    