o
    $j                      @   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   i/var/www/html/Deteccion_Ine/venv/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	   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   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 passedr0   )r3   r4   	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	 elementsr0      zLength mismatch)	r   r3   r4   r5   nparanger   r(   columnsr8   r   r   r   (test_set_axis_setattr_index_wrong_lengths   s   

"z;SharedSetAxisTests.test_set_axis_setattr_index_wrong_lengthN)__name__
__module____qualname__r3   fixturer	   r   r-   r.   markZparametrizer6   r:   r?   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   Zdfr   r   r   r	      s
   zTestDataFrameSetAxis.objNr@   rA   rB   r3   rC   r	   r   r   r   r   rF          rF   c                   @   rE   )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.objNrJ   r   r   r   r   rL      rK   rL   )numpyr<   r3   Zpandasr   r   Zpandas._testingZ_testingr   r   rF   rL   r   r   r   r   <module>   s    v
