
    d_;                         d dl m Z mZ d dlZd dlZd dlmZ d dlmZm	Z	 d dl
mZ d
dZ G d d          Z G d d	          ZdS )    )copydeepcopyN)	is_scalar)	DataFrameSeriesc                 z   t          |t                    rt          |g| j        z            }|t	          |          r\|dk    r*d}t
          j        }|                    | j        d           nt          j	        ||          }|
                    |           nt          j        |          }|                                }||j        d         z  }||j        d         z  dk    rt          d          t          j        ||                              |          }nt          j        j        | } | |fd|i|S )z
    construct an object for the given shape
    if value is specified use that if its a scalar
    if value is an array, repeat it as needed
    Nemptydtyper   z!invalid value passed in constructr   )
isinstanceinttuple	_AXIS_LENr   npfloat64pop_info_axis_namer	   fillprodravelshape	Exceptionrepeatreshaperandomrandn)boxr   valuer   kwargsarrfshape	new_shapes           ]/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/generic/test_generic.py	constructr$      s5    % /ug-..U 	;
 

3.5555huE222WU^^F++--C1-I	!$)) CDDD)C++33E::CCiou%3s**%*6***    c                      e Zd Zej                            dej        d  ed          D              e	d  ed          D                       g          d             Z
d Zd Zd Zd	 Zd
 Zd Zd Zej                            dg d          d             Zd Zd Zej                            deed d g          ej                            dg d          d                         ZdS )TestGenericfuncc                 8    i | ]}||                                 S  lower.0xs     r#   
<dictcomp>zTestGeneric.<dictcomp>:   s"    000aQ		000r%   ABCDc                 8    i | ]}||                                 S r*   r+   r-   s     r#   r0   zTestGeneric.<dictcomp>;   s"    777QAqwwyy777r%   c                    t          d          }|j        D ]j}||i}t          |dfi |} |j        di ||i}|                                }t          ||t          d                     t          j        ||           kd S )Nr1      abcdr*   )list_AXIS_ORDERSr$   renamer   setattrtmassert_equal)	selfframe_or_seriesr(   idxaxisr   objresultexpecteds	            r#   test_renamezTestGeneric.test_rename6   s     6ll#0 	. 	.DC[FOQ99&99C  SZ//4,//FxxzzHHdDLL111OFH----	. 	.r%   c                 H   dfdt          j                  D             }t          fi |}|                                }t	          j        ||           |                                }t          fddi|}t          |t                    r|j	        d d         |_	        t	          j        |
                    d          |           t          j        g d          }t          fd|i|}|                                }t	          j        ||           d S )	Nr4   c                 p    i | ]2}                     |          t          t                              3S r*   )_get_axis_namer6   range)r.   ir=   ns     r#   r0   z5TestGeneric.test_get_numeric_data.<locals>.<dictcomp>N   sE     
 
 
 **1--tE!HH~~
 
 
r%   r   r	   r   T)drop)TTFT)rG   r   r$   _get_numeric_datar:   r;   _get_bool_datar   r   columnsreset_indexr   array)r<   r=   r   orA   rB   r    rI   s    `     @r#   test_get_numeric_dataz!TestGeneric.test_get_numeric_dataL   sP   
 
 
 
 
?455
 
 
 oq33F33$$&&
""" !!##_aIIwI&IIa## 	- y!}H
***55x@@@ h00011oq>>>v>>$$&&
"""""r%   c                    t          |d          }d|j         d}t          j        t          |          5  t          |dk               d d d            n# 1 swxY w Y   t          j        t          |          5  t          |dk               d d d            n# 1 swxY w Y   t          j        t          |          5  t          |           d d d            n# 1 swxY w Y   t          |dd          }t          j        t          |          5  t          |dk               d d d            n# 1 swxY w Y   t          j        t          |          5  t          |dk               d d d            n# 1 swxY w Y   t          j        t          |          5  t          |           d d d            n# 1 swxY w Y   t          |dt          j                  }t          j        t          |          5  t          |dk               d d d            n# 1 swxY w Y   t          j        t          |          5  t          |dk               d d d            n# 1 swxY w Y   t          j        t          |          5  t          |           d d d            n# 1 swxY w Y   t          |d          }t          j        t          |          5  t          |           d d d            n# 1 swxY w Y   t          |dd          }t          |dd          }t          j        t          |          5  |r	 d d d            n# 1 swxY w Y   t          j        t          |          5  |o| d d d            n# 1 swxY w Y   t          j        t          |          5  |p| d d d            n# 1 swxY w Y   t          j        t          |          5  |  d d d            d S # 1 swxY w Y   d S )	Nr4   r   zThe truth value of a z is ambiguousmatchr      )r   r   )r$   __name__pytestraises
ValueErrorboolr   nan)r<   r=   r@   msgobj1obj2s         r#   test_nonzerozTestGeneric.test_nonzerog   s    q111Mo&>MMM]:S111 	 	NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 q:::]:S111 	 	NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 q???]:S111 	 	NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 q111]:S111 	 	III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 ;;;;;;]:S111 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:S111 	 	MT	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	LD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAA>BB"%B"C  C$'C$D88D<?D<E>>FF$G  GGH""H&)H&I((I,/I,J**J.1J.!K==LLMMM=NNN4OO	O	+O<<P P c                     fd}dj          d}t          j        t          |          5   |g d           d d d            n# 1 swxY w Y    |d            |d            |d           d S )	Nc                 *    t          dd|           S )N   rV   )r   r   r   )r$   )r   r=   s    r#   fz;TestGeneric.test_frame_or_series_compound_dtypes.<locals>.f   s    _AQeLLLLr%   z+compound dtypes are not implemented in the z constructorrT   ))Azdatetime64[h])Bstr)Cint32int64r   zM8[ns])rW   rX   rY   NotImplementedError)r<   r=   rd   r]   s    `  r#   $test_frame_or_series_compound_dtypesz0TestGeneric.test_frame_or_series_compound_dtypes   s   	M 	M 	M 	M 	M=%.= = = 	
 ].c::: 	F 	FADDDEEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	
'


	)	(s   AAAc                 p   t          |d          }d|_        t          |d          }d|_        dD ]0} t          ||          d          }t          j        ||           1dD ]0} t          ||          |          }t          j        ||           1dD ]`} t          ||          |          }t          j        ||           t          j        |||z             t          j        |||z             a|                    |          }t          j        ||           ||z   }t          j        |           dD ]v} t          ||          |          } t          ||          |          }t          j        |           t          j        ||z             t          j        ||z             wd S )Nrc   rS   foobar)__add____sub____truediv____mul__rV   )__eq____le____ge__)r$   namegetattrr:   assert_metadata_equivalentcombine_first)r<   r=   rP   o2oprA   v1v2s           r#   test_metadata_propagationz%TestGeneric.test_metadata_propagation   s    oQ///a000 C 	5 	5B#WQ^^A&&F)!V4444 C 	5 	5B#WQ^^A&&F)!V4444 1 	6 	6BB""B)!R000)!R"W555)!R"W5555 $$
%a000 R
%f--- 1 	3 	3BB""BB##B)"---)"r'222)"r'2222	3 	3r%   c                     t          |d          }|j        t          j        |j                  k    sJ |j        dt          |j                  z  k    sJ d S )N
   rS   )r$   sizer   r   r   lenaxesr<   r=   rP   s      r#   test_size_compatzTestGeneric.test_size_compat   s[     oR000v))))))vs16{{*******r%   c                     t          |d          }t          t          j        |d                    dk    sJ t          t          j        |d                    dk    sJ d S )Nr   rS         )r$   r   r   array_splitr   s      r#   test_split_compatzTestGeneric.test_split_compat   sd    oR0002>!Q''((A----2>!Q''((A------r%   c                 x   t          |d          }d}d}t          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    |           d d d            d S # 1 swxY w Y   d S )Nr   z	Star Warszunexpected keywordrT   )epic)r$   rX   rY   	TypeErrormaxvarsumany)r<   r=   r@   starwarserrmsgs        r#   test_stat_unexpected_keywordz(TestGeneric.test_stat_unexpected_keyword   s"   ++%]9F333 	# 	#GGG"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]9F333 	# 	#GGG"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]9F333 	# 	#GGG"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]9F333 	# 	#GGG"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#sG   AAA9BB #B C%%C),C)D//D36D3)r   cumsumr   r   c                     t          |d          }t          ||          }|j        |k    sJ |j                            |          sJ d S )Nr   )r$   rx   rW   __qualname__endswith)r<   r(   r=   r@   rd   s        r#   test_api_compatzTestGeneric.test_api_compat   sW    
 ++CzT!!!!~&&t,,,,,,,r%   c                    t          |d          }t          j        dg          }d}t          j        t
          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t
          |          5  |	                    |           d d d            d S # 1 swxY w Y   d S )Nr   r   $the 'out' parameter is not supportedrT   out)
r$   r   rO   rX   rY   rZ   r   r   r   r   )r<   r=   r@   r   r   s        r#   test_stat_non_defaults_argsz'TestGeneric.test_stat_non_defaults_args  s,   ++hsmm7]:V444 	 	GGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:V444 	 	GGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:V444 	 	GGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:V444 	 	GGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   A&&A*-A*B//B36B3C88C<?C<EE	Ec                    dgdg|j         dz
  z  z   }t          ||dd          }t          j        |                                |           t          j        |                    dd          |           t          j        |                    dd	          |           d
gdg|j         dz
  z  z   }t          ||dd          }t          j        |                                |           t          j        |                    dd          |           t          j        |                    dd          |           d S )Ni  rV   int8)r   r   r   g     p@)beforeafterg     @@i g    `FAg    >A)r   r$   r:   r;   truncate)r<   r=   r   smallbigs        r#   test_truncate_out_of_boundsz'TestGeneric.test_truncate_out_of_bounds  s,    1#!:Q!>?@/5aHHH
((%000
as;;UCCC
b<<eDDD so&?!&CDEfAFFF
,,,
AS993???
Bc::C@@@@@r%   c                 .    |                      d          S )NFdeepr   r/   s    r#   <lambda>zTestGeneric.<lambda>&  s    166u6#5#5 r%   c                 .    |                      d          S )NTr   r   r   s    r#   r   zTestGeneric.<lambda>&  s    TARAR r%   r   )r   rV   r   c                 r    t          ||          } ||          }||usJ t          j        ||           d S N)r$   r:   r;   )r<   r=   r   r(   r@   obj_copys         r#   test_copy_and_deepcopyz"TestGeneric.test_copy_and_deepcopy$  sI     //499s""""
#&&&&&r%   N)rW   
__module__r   rX   markparametrizerg   r,   r6   r   rC   rQ   r`   rl   r   r   r   r   r   r   r   r   r   r   r*   r%   r#   r'   r'   5   s       [I0044<<000F77$$v,,77788	
 . . .# # #6/ / /b  (03 03 03d+ + +. . .# # # [V%D%D%DEE- - FE-  A A A" [	x557R7RS  [Wiii00' ' 10	 
' ' 'r%   r'   c                   *   e Zd Zej                            d ej                     ej                     ej	                    g          d             Z
d Zd Zd Zd Zd Zd Zej                            d ej                     ej                     ej	                    g          d	             Zd
 Zd Zej                            d ej                     ej                     ej	                    g          d             Zd Zd Zd Zd ZdS )TestNDFrameserc                 T    t          j        |                                |           d S r   )r:   assert_series_equalsqueezer<   r   s     r#   test_squeeze_series_noopz$TestNDFrame.test_squeeze_series_noop4  s%    
 	s{{}}c22222r%   c                 z    t          j                    }t          j        |                                |           d S r   r:   makeTimeDataFrameassert_frame_equalr   r<   dfs     r#   test_squeeze_frame_noopz#TestNDFrame.test_squeeze_frame_noop;  s1    !##
bjjllB/////r%   c                     t          j                                        dg          }t          j        |                                |d                    d S Nre   )rM   )r:   r   reindexr   r   r   s     r#   test_squeeze_frame_reindexz&TestNDFrame.test_squeeze_frame_reindex@  sH    !##++SE+::
rzz||RW55555r%   c                     t          g dt          j                  }t          |g          }t	          j        ||                                           t	          j        ||                                           d S )Nfive)rw   r   )r   r   r   r   r:   r   r   )r<   empty_seriesempty_frames      r#   test_squeeze_0_len_dimz"TestNDFrame.test_squeeze_0_len_dimE  sk    bvRZ@@@//
|\-A-A-C-CDDD
|[-@-@-B-BCCCCCr%   c                    t          j        d          j        d d d df         }|j        dk    sJ t          j        |                    d          |j        d                    t          j        |                    d          |j        d                    t          j        |                    d          |j        d d df                    t          j        |                    d          |j        d d df                    |                                |j        d         k    sJ d	}t          j        t          |
          5  |                    d           d d d            n# 1 swxY w Y   d}t          j        t          |
          5  |                    d           d d d            d S # 1 swxY w Y   d S )NrV   )nper)rV   rV   r   r?   indexrM   )r   r   z)No axis named 2 for object type DataFramerT   r   z)No axis named x for object type DataFramer/   )	r:   r   ilocr   r   r   rX   rY   rZ   )r<   r   r]   s      r#   test_squeeze_axiszTestNDFrame.test_squeeze_axisL  s   !q))).qqq"1"u5x6!!!!
rzzqz11271:>>>
rzzwz77DDD
rzzqz1127111a4=AAA
rzzyz9927111a4=IIIzz||rwt},,,,9]:S111 	 	JJAJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	9]:S111 	! 	!JJCJ   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s$   E11E58E5F==GGc                     t          j        d          }t          j        |                    d          |           d S )Nrc   r   r   r   r   s     r#   test_squeeze_axis_len_3z#TestNDFrame.test_squeeze_axis_len_3\  s9    !!$$
bjjaj00"55555r%   c                 $   t          j                    }t          j        t          j        |          |           t          j                                        dg          }t          j        t          j        |          |d                    d S r   )r:   makeFloatSeriesr   r   r   r   r   )r<   sr   s      r#   test_numpy_squeezezTestNDFrame.test_numpy_squeeze`  sq      
rz!}}a000!##++SE+::
rz"~~r#w77777r%   c                 T    t          j        |                                |           d S r   )r:   r   	transposer   s     r#   test_transpose_seriesz!TestNDFrame.test_transpose_seriesg  s%    
 	s}}44444r%   c                     t          j                    }t          j        |                                                                |           d S r   )r:   r   r   r   r   s     r#   test_transpose_framez TestNDFrame.test_transpose_framen  s=    !##
bllnn6688"=====r%   c                    t          j                    }t          j        ||          }|t          u r't          j        t          j        |          |           t          j        t          j        t          j        |                    |           d}t          j	        t          |          5  t          j        |d           d d d            d S # 1 swxY w Y   d S )Nz%the 'axes' parameter is not supportedrT   rV   )r   )r:   r   get_objr   r   r   r   r;   rX   rY   rZ   )r<   r=   r@   r]   s       r#   test_numpy_transposez TestNDFrame.test_numpy_transposer  s   "$$jo..f$$"2<#4#4c::: 	R\#%6%677===5]:S111 	& 	&L1%%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   /CCCc                     g d}|                     |          }t          |j                             |          |j                             |          |j                  }t          j        ||           d S )NrV   r      rc   r   )datar   r   )taker   valuesr   r   r:   r   )r<   r   indicesr   rB   s        r#   test_take_serieszTestNDFrame.test_take_series  sv     '&&hhw)))..)))
 
 

 	sH-----r%   c                    g d}t          j                    }|                    |          }t          |j                            |d          |j                            |          |j                  }t          j        ||           d S )Nr   r   r   )r   r   rM   )r:   r   r   r   r   r   rM   r   )r<   r   r   r   rB   s        r#   test_take_framezTestNDFrame.test_take_frame  s    &&&!##ggga00(--((J
 
 

 	c8,,,,,r%   c                 (   g d}t          j                    }t          j        ||          }d}t          j        t
          |          5  |                    |d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                    ||           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                    |d	
           d d d            d S # 1 swxY w Y   d S )N)r   r   rV   z1take\(\) got an unexpected keyword argument 'foo'rT   r   )rn   r   r   z%the 'mode' parameter is not supportedclip)mode)r:   r   r   rX   rY   r   r   rZ   )r<   r=   r   r@   r]   s        r#   test_take_invalid_kwargsz$TestNDFrame.test_take_invalid_kwargs  s   --"$$jo..B]9C000 	% 	%HHW!H$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 5]:S111 	+ 	+HHW'H***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 6]:S111 	+ 	+HHW6H***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s6   
A..A25A2B::B>B>"DDDc                 |   |} |t                     }|j                                        }|D ]}|                    |          |                    |          k    sJ |                    |          |                    |          k    sJ |                    |          |                    |          k    sJ d S )Nr
   )object_AXIS_TO_AXIS_NUMBERkeys_get_axis_numberrF   _get_block_manager_axis)r<   r=   r   r@   r   vs         r#   test_axis_classmethodsz"TestNDFrame.test_axis_classmethods  s    c)..00 	T 	TA''**c.B.B1.E.EEEEE%%a((C,>,>q,A,AAAAA..q11S5P5PQR5S5SSSSSS	T 	Tr%   c                     t          ddg          }|t          u r|                                }|j        |j        u sJ |                                }|j        |j        usJ d S )NrV   r   )r   r   to_frameflagsr   )r<   r=   r@   r_   s       r#   test_flags_identityzTestNDFrame.test_flags_identity  sf    aVnni'',,..CyCI%%%%xxzzz******r%   N)rW   r   r   rX   r   r   r:   r   makeStringSeriesmakeObjectSeriesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r*   r%   r#   r   r   1  s        [""$$&9b&9&;&;=PR=P=R=RS 3 3 30 0 0
6 6 6
D D D! ! ! 6 6 68 8 8 [""$$&9b&9&;&;=PR=P=R=RS 5 5 5> > >& & & [""$$&9b&9&;&;=PR=P=R=RS . . .	- 	- 	-+ + +$T T T+ + + + +r%   r   )NN)r   r   numpyr   rX   pandas.core.dtypes.commonr   pandasr   r   pandas._testing_testingr:   r$   r'   r   r*   r%   r#   <module>r     s         
      / / / / / /             + + + +@y' y' y' y' y' y' y' y'xJ+ J+ J+ J+ J+ J+ J+ J+ J+ J+r%   