
    i                     p    d dl Zd dlZd dlmZmZ d dlmZ  G d d      Z	 G d de	      Z
 G d de	      Zy)	    N)	DataFrameSeriesc                       e Zd Zej                  d        Zd Zd Zd Zej                  j                  dddg      d        Zd	 Zd
 Zy)SharedSetAxisTestsc                     t        d      )NzImplemented by subclasses)NotImplementedError)selfs    e/app/cer_product_mecsu/.venv/lib/python3.12/site-packages/pandas/tests/frame/methods/test_set_axis.pyobjzSharedSetAxisTests.obj   s    !"=>>    c                     t        d      d t        |       }|j                         }||_        |j	                  |d      }t        j                  ||       y )Nabcdr   axislistlencopyindexset_axistmassert_equalr	   r   	new_indexexpectedresults        r
   test_set_axisz SharedSetAxisTests.test_set_axis   sH    L3s8,	88:"ia0
&)r   c                    t        d      d t               }j                  d d  j                         }||_        j                  |d      t        j                  |       usJ j                  dk(  rt        j                        s/J t        fdt        j                  d         D              sJ j                  |d      t        j                  |       usJ j                  dk(  rt        j                        s/J t        fdt        j                  d         D              sJ j                  |      t        j                  |       j                  dk(  rt        j                        sJ y t        fdt        j                  d         D              sJ y )Nr   r   r      c              3      K   | ]<  }t        j                  j                  d d |f   j                  d d |f          > y wNr   shares_memoryiloc.0ir   r   s     r
   	<genexpr>z8SharedSetAxisTests.test_set_axis_copy.<locals>.<genexpr>'   ?         QT!2CHHQTNC   AAc              3      K   | ]<  }t        j                  j                  d d |f   j                  d d |f          > y wr!   r"   r%   s     r
   r(   z8SharedSetAxisTests.test_set_axis_copy.<locals>.<genexpr>3   r)   r*   c              3      K   | ]<  }t        j                  j                  d d |f   j                  d d |f          > y wr!   r"   )r&   r'   origress     r
   r(   z8SharedSetAxisTests.test_set_axis_copy.<locals>.<genexpr>>   s>         !Q$1a4Ar*   )r   r   r$   r   r   r   r   r   ndimr#   allrangeshapeany)r	   r   r   r   r-   r.   r   s    `  @@@r
   test_set_axis_copyz%SharedSetAxisTests.test_set_axis_copy   s   L3s8,	xx{88:"ia0
&)S   88q=##FC000 syy|,   
 ia0
&)S   88q=##FC000 syy|,   
 ll9%
#&88q=##C... syy|,   r   c                     t        d      d t        |       }|j                         }||_        |j	                  |      }t        j                  ||       y )Nr   r   r   s        r
   !test_set_axis_unnamed_kwarg_warnsz4SharedSetAxisTests.test_set_axis_unnamed_kwarg_warnsC   sD    L3s8,	88:"i(
)r   r      fooc                     t        j                  t        d      5  |j                  t	        d      |       d d d        y # 1 sw Y   y xY w)NzNo axis namedmatchabcr   )pytestraises
ValueErrorr   r   )r	   r   r   s      r
   test_set_axis_invalid_axis_namez2SharedSetAxisTests.test_set_axis_invalid_axis_nameM   s;     ]]:_= 	1LLe4L0	1 	1 	1s   AAc                 v    d}t        j                  t        |      5  d |_        d d d        y # 1 sw Y   y xY w)NzNIndex\(\.\.\.\) must be called with a collection of some kind, None was passedr:   )r=   r>   	TypeErrorr   r	   r   msgs      r
   *test_set_axis_setattr_index_not_collectionz=SharedSetAxisTests.test_set_axis_setattr_index_not_collectionS   s8    % 	 ]]9C0 	CI	 	 	s   /8c                    dt        |       dt        |      dz
   d}t        j                  t        |      5  t	        j
                  t        |      dz
        |_        d d d        |j                  dk(  r<t        j                  t        d      5  |j                  d d d   |_        d d d        y y # 1 sw Y   UxY w# 1 sw Y   y xY w)Nz#Length mismatch: Expected axis has z elements, new values have r   z	 elementsr:      zLength mismatch)	r   r=   r>   r?   nparanger   r/   columnsrC   s      r
   (test_set_axis_setattr_index_wrong_lengthz;SharedSetAxisTests.test_set_axis_setattr_index_wrong_length\   s     2#c( <"3x!|nI7 	 ]]:S1 	0		#c(Q,/CI	0 88q=z1BC /!kk#A#./ / 	0 	0/ /s   'B5C5B>C
N)__name__
__module____qualname__r=   fixturer   r   r4   r6   markparametrizer@   rE   rK    r   r
   r   r      s[    ^^? ?*)V* [[VaZ01 11
/r   r   c                   6    e Zd Zej                  d        Zd Zy)TestDataFrameSetAxisc                 8    t        g dg dg ddg d      }|S )N)g?g@gffffff
@)g      @gffffff@g@)g@g      @gffffff@)ABC)i  i  i  )r   )r   )r	   dfs     r
   r   zTestDataFrameSetAxis.objk   s     !oN$
 	r   c                     t        ddgddggddg      j                  d	      }|j                  d
dgd      }t        ddgddggd
dgddg      }t        j                  ||d       y )Nr   rG   r7      ab)rJ   F)allows_duplicate_labelsxyr   )labelsr   )r   rJ   )check_flags)r   	set_flagsr   r   assert_frame_equal)r	   rY   r   r   s       r
   0test_set_axis_with_allows_duplicate_labels_falsezETestDataFrameSetAxis.test_set_axis_with_allows_duplicate_labels_falses   s    AA'#s<FF$) G 
 S#JQ7q!fq!f-c3Z#sT
fhEBr   N)rL   rM   rN   r=   rO   r   re   rR   r   r
   rT   rT   j   s    ^^ Cr   rT   c                   0    e Zd Zej                  d        Zy)TestSeriesSetAxisc                 L    t        t        j                  d      g dd      }|S )Nr[   )r   r7         int64)r   dtype)r   rH   rI   )r	   sers     r
   r   zTestSeriesSetAxis.obj   s    RYYq\WE
r   N)rL   rM   rN   r=   rO   r   rR   r   r
   rg   rg   ~   s    ^^ r   rg   )numpyrH   r=   pandasr   r   pandas._testing_testingr   r   rT   rg   rR   r   r
   <module>rr      s>      \/ \/~C- C(* r   