o
    ŀg                      @   s^   d dl Zd dlZd dlmZmZ d dlmZ G dd dZ	G dd de	Z
G dd de	ZdS )	    N)	DataFrameSeriesc                   @   s\   e Zd Zejdd Zdd Zdd Zdd Zej	
d	d
dgdd Zdd Zdd ZdS )SharedSetAxisTestsc                 C   s   t d)NzImplemented by subclasses)NotImplementedError)self r   \/var/www/html/myenv/lib/python3.10/site-packages/pandas/tests/frame/methods/test_set_axis.pyobj   s   zSharedSetAxisTests.objc                 C   s@   t dd t| }| }||_|j|dd}t|| d S )Nabcdr   axislistlencopyindexset_axistmassert_equalr   r	   	new_indexexpectedresultr   r   r   test_set_axis   s
   z SharedSetAxisTests.test_set_axisc                    s  t dd t  } jd d    }||_ j|dddt|  us,J |sO jdkr<t	 r;J nt
 fddt jd D rOJ  j|dddt|  uscJ  jdkrqt	 spJ nt fd	dt jd D sJ  j|dd
t|  usJ |r jdkrt	 sJ n5t
 fddt jd D sJ n! jdkrt	 rJ nt
 fddt jd D rJ  j|ddt| jdkrt	sJ d S tfddtjd D sJ d S )Nr
   r   T)r   r      c                 3   8    | ]}t jd d |f  jd d |f V  qd S Nr   shares_memoryiloc.0ir	   r   r   r   	<genexpr>(   
    &
z8SharedSetAxisTests.test_set_axis_copy.<locals>.<genexpr>Fc                 3   r   r   r   r    r#   r   r   r$   4   r%   r   c                 3   r   r   r   r    r#   r   r   r$   B   r%   c                 3   r   r   r   r    r#   r   r   r$   J   r%   )r   c                 3   r   r   r   r    )origresr   r   r$   U   r%   )r   r   r   r   r   r   r   r   ndimr   anyrangeshapeall)r   r	   using_copy_on_writer   r   r   )r	   r&   r'   r   r   test_set_axis_copy   sT   




z%SharedSetAxisTests.test_set_axis_copyc                 C   s<   t dd t| }| }||_||}t|| d S )Nr
   r   r   r   r   r   !test_set_axis_unnamed_kwarg_warnsZ   s
   
z4SharedSetAxisTests.test_set_axis_unnamed_kwarg_warnsr      fooc                 C   sF   t jtdd |jtd|d W d    d S 1 sw   Y  d S )NzNo axis namedmatchabcr   )pytestraises
ValueErrorr   r   )r   r   r	   r   r   r   test_set_axis_invalid_axis_named   s   "z2SharedSetAxisTests.test_set_axis_invalid_axis_namec                 C   s>   d}t jt|d d |_W d    d S 1 sw   Y  d S )NzNIndex\(\.\.\.\) must be called with a collection of some kind, None was passedr2   )r5   r6   	TypeErrorr   r   r	   msgr   r   r   *test_set_axis_setattr_index_not_collectionj   s
   "z=SharedSetAxisTests.test_set_axis_setattr_index_not_collectionc                 C   s   dt | dt |d  d}tjt|d tt |d |_W d    n1 s+w   Y  |jdkrXtjtdd |jd d d |_W d    d S 1 sQw   Y  d S d S )Nz#Length mismatch: Expected axis has z elements, new values have r   z	 elementsr2      zLength mismatch)	r   r5   r6   r7   nparanger   r(   columnsr:   r   r   r   (test_set_axis_setattr_index_wrong_lengths   s   

"z;SharedSetAxisTests.test_set_axis_setattr_index_wrong_lengthN)__name__
__module____qualname__r5   fixturer	   r   r.   r/   markparametrizer8   r<   rA   r   r   r   r   r      s    
B

	r   c                   @      e Zd Zejdd ZdS )TestDataFrameSetAxisc                 C   s(   t g dg dg ddg dd}|S )N)g?g@gffffff
@)g      @gffffff@g@)g@g      @gffffff@)ABC)i  i  i  )r   )r   )r   dfr   r   r   r	      s
   zTestDataFrameSetAxis.objNrB   rC   rD   r5   rE   r	   r   r   r   r   rI          rI   c                   @   rH   )TestSeriesSetAxisc                 C   s   t tdg ddd}|S )N   )r   r0         int64)r   dtype)r   r>   r?   )r   serr   r   r   r	      s   zTestSeriesSetAxis.objNrN   r   r   r   r   rP      rO   rP   )numpyr>   r5   pandasr   r   pandas._testing_testingr   r   rI   rP   r   r   r   r   <module>   s    v
