U
    sVc                     @   s  d dl m Z mZ d dlZd dlmZ d dlmZ dd Zdd Z	dd	 Z
d
d Zejde egdd Zejdddgdd Zejdddgejddddgfgdd Zejdddgejddddgddggfd d!d d d gd!d!d d ggfgd"d# Zd$d% ZdS )&    )copydeepcopyN)
MultiIndexc                 C   st   t | j|j t | j|j t | j|j | j|jk	s@t| j|jksPt| j|jk	s`t| j|jksptd S N)tmZassert_copylevelsZassert_almost_equalcodesAssertionErrornamesZ	sortorder)r   original r   H/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/indexes/multi/test_copy.pyassert_multiindex_copied   s    r   c                 C   s   |   }t||  d S r   )r   r   idxZi_copyr   r   r   	test_copy   s    r   c                 C   s   |   }t||  d S r   )Z_viewr   r   r   r   r   test_shallow_copy#   s    r   c                 C   s   |   }t||  d S r   )viewr   )r   Zi_viewr   r   r   	test_view)   s    r   funcc                 C   sX   t ddgddggddddgddddggddgd	}| |}||k	sFt||sTtd S )
Nfoobarfizzbuzzr      firstsecondr   r   r
   )r   r	   equals)r   r   idx_copyr   r   r   test_copy_and_deepcopy.   s    r    deepTFc                 C   sP   t ddgddggddddgddddggddgd	}|j| d
}||sLtd S )Nr   r   r   r   r   r   r   r   r   r!   )r   r   r   r	   )r!   r   r   r   r   r   test_copy_method;   s    r#   zkwarg, valuer
   thirdZfourthc                 C   s\   t ddgddggddddgddddggddgd	}|jf ||d
| i}t|||ksXtd S )Nr   r   r   r   r   r   r   r   r   r!   )r   r   getattrr	   )r!   kwargvaluer   r   r   r   r   test_copy_method_kwargsF   s    	r(   zparam_name, param_valuer   Zfoo2Zbar2Zfizz2Zbuzz2r   r   c              	   C   s   t ddgddggddddgddddggddgd	}tt |jf d
| i||i}W 5 Q R X dd t||D |ks|td S )Nr   r   r   r   r   r   r   r   r   r!   c                 S   s   g | ]}t |qS r   )list).0ir   r   r   
<listcomp>j   s     z3test_copy_deprecated_parameters.<locals>.<listcomp>)r   r   Zassert_produces_warningFutureWarningr   r%   r	   )r!   
param_nameZparam_valuer   r   r   r   r   test_copy_deprecated_parametersX   s    
"r/   c                  C   sR   t ddgddggddddgddddggddgd	} | jd
d}|j| jksNtd S )Nr   r   r   r   r   r   r   r   r   Fr"   )r   r   Z_idr	   )r   resr   r   r   test_copy_deep_false_retains_idm   s    r1   )r   r   ZpytestZpandasr   Zpandas._testingZ_testingr   r   r   r   r   markZparametrizer    r#   r(   r/   r1   r   r   r   r   <module>   s6   



