a
    Pf                      @   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d S )NzImplemented by subclasses)NotImplementedError)self r   a/var/www/ai-form-bot/venv/lib/python3.9/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                    s0  t dd t  } jd d    }||_ j|dddt|  usXJ |s jdkrxt	 rJ n&t
 fddt jd D rJ  j|dddt|  usJ  jdkrt	 sJ n(t fd	dt jd D s
J  j|dd
t|  us2J |r jdkrXt	 sJ n(t
 fddt jd D sJ nH jdkrt	 rJ n(t
 fddt jd D rJ  j|ddt| jdkrt	s,J n(tfddtjd D s,J d S )Nr
   r   T)r   r      c                 3   s6   | ].}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>(   s   z8SharedSetAxisTests.test_set_axis_copy.<locals>.<genexpr>Fc                 3   s6   | ].}t jd d |f  jd d |f V  qd S r   r   r   r"   r   r   r#   4   s   r   c                 3   s6   | ].}t jd d |f  jd d |f V  qd S r   r   r   r"   r   r   r#   B   s   c                 3   s6   | ].}t jd d |f  jd d |f V  qd S r   r   r   r"   r   r   r#   J   s   )r   c                 3   s6   | ].}t jd d |f  jd d |f V  qd S r   r   r   )origresr   r   r#   U   s   )r   r   r   r   r   r   r   r   ndimr   anyrangeshapeall)r   r	   Z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      Zfooc                 C   sD   t jtdd" |jtd|d W d    n1 s60    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    n1 s.0    Y  d S )NzNIndex\(\.\.\.\) must be called with a collection of some kind, None was passedr.   )r1   r2   	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 sV0    Y  |jdkrtjtdd" |jd d d |_W d    n1 s0    Y  d S )Nz#Length mismatch: Expected axis has z elements, new values have r   z	 elementsr.      zLength mismatch)	r   r1   r2   r3   nparanger   r&   columnsr6   r   r   r   (test_set_axis_setattr_index_wrong_lengths   s    
2
z;SharedSetAxisTests.test_set_axis_setattr_index_wrong_lengthN)__name__
__module____qualname__r1   fixturer	   r   r+   r,   markZparametrizer4   r8   r=   r   r   r   r   r      s   
B

	r   c                   @   s   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   Zdfr   r   r   r	      s
    zTestDataFrameSetAxis.objNr>   r?   r@   r1   rA   r	   r   r   r   r   rC      s   rC   c                   @   s   e Zd Zejdd ZdS )TestSeriesSetAxisc                 C   s   t tdg ddd}|S )N   )r   r-         Zint64)r   Zdtype)r   r:   r;   )r   Zserr   r   r   r	      s    zTestSeriesSetAxis.objNrG   r   r   r   r   rH      s   rH   )numpyr:   r1   Zpandasr   r   Zpandas._testingZ_testingr   r   rC   rH   r   r   r   r   <module>   s   v
