
    Owg'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	m
Z
mZ d dlmZ d
dZ G d d      Z G d d	      Zy)    )copydeepcopyN)	is_scalar)	DataFrameIndexSeries
date_rangec                    t        |t              rt        |g| j                  z        }|t	        |      r]|dk(  r/d}t
        j                  }|j                  | j                  d       nt        j                  ||      }|j                  |       nt        j                  |      }|j                         }||j                  d   z  }||j                  d   z  dk7  rt        d      t        j                  ||      j!                  |      }n.t
        j"                  j%                  d      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 construct   r   )
isinstanceinttuple	_AXIS_LENr   npfloat64pop_info_axis_namer   fillprodravelshape	Exceptionrepeatreshaperandomdefault_rngstandard_normal)boxr   valuer   kwargsarrfshape	new_shapes           X/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/generic/test_generic.py	constructr(      s    %ug-.U

 

3..5hhuE2WWU^F++-C1-I		!$) CDD))C+33E:Cii##A&66u=s*%*6**    c                   8   e Zd Zej                  j                  dej                   ed      D  ci c]  }||j                          c}}  e	 ed      D  ci c]  }||j                          c}}       g      d        Z
d Zd Zd Zd Zd Zd	 Zd
 Zej                  j                  dg d      d        Zd Zd Zej                  j                  deed d g      ej                  j                  dg d      d               Zd Zyc c}} w c c}} w )TestGenericfuncABCDc                     t        d      }|j                  D ]c  }||i}t        |dfi |} |j                  di ||i}|j	                         }t        ||t        d             t        j                  ||       e y )Nr-      abcd )list_AXIS_ORDERSr(   renamer   setattrtmassert_equal)	selfframe_or_seriesr,   idxaxisr#   objresultexpecteds	            r'   test_renamezTestGeneric.test_rename8   s~     6l#00 	.DC[FOQ9&9C  SZZ/4,/FxxzHHdDL1OOFH-	.r)   c           	      j   d}t        |j                        D ci c]&  }|j                  |      t        t        |            ( }}t	        ||fi |}|j                         }t        j                  ||       |j                         }t	        ||fddi|}t        |t              r|j                  d d |_        t        j                  |j                  d      |       t        j                  g d      }t	        ||fd|i|}|j                         }t        j                  ||       y c c}w )Nr/   r"   r   r   T)drop)TTFT)ranger   _get_axis_namer2   r(   _get_numeric_datar6   r7   _get_bool_datar   r   columnsreset_indexr   array)	r8   r9   nir#   or=   r>   r$   s	            r'   test_get_numeric_dataz!TestGeneric.test_get_numeric_dataN   s    ?445
 **1-tE!H~=
 
 oq3F3$$&
" !!#_aIwI&Ia# yy!}H
***5x@ hh01oq>>v>$$&
"/
s   +D0c                 ^   t        |d      }d|j                   d}t        j                  t        |      5  t        |dk(         d d d        t        j                  t        |      5  t        |dk(         d d d        t        j                  t        |      5  t        |       d d d        t        |dd      }t        j                  t        |      5  t        |dk(         d d d        t        j                  t        |      5  t        |dk(         d d d        t        j                  t        |      5  t        |       d d d        t        |dt        j                        }t        j                  t        |      5  t        |dk(         d d d        t        j                  t        |      5  t        |dk(         d d d        t        j                  t        |      5  t        |       d d d        t        |d      }t        j                  t        |      5  t        |       d d d        t        |dd      }t        |dd      }t        j                  t        |      5  |r	 d d d        t        j                  t        |      5  |xr | d d d        t        j                  t        |      5  |xs | d d d        t        j                  t        |      5  |  d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   oxY w# 1 sw Y   <xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   mxY w# 1 sw Y   >xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)	Nr/   r   zThe truth value of a z is ambiguousmatchr      )r   r"   )r(   __name__pytestraises
ValueErrorboolr   nan)r8   r9   r<   msgobj1obj2s         r'   test_nonzerozTestGeneric.test_nonzeroi   s    q1%o&>&>%?}M]]:S1 	N	]]:S1 	N	]]:S1 	I	 q:]]:S1 	N	]]:S1 	N	]]:S1 	I	 q?]]:S1 	N	]]:S1 	N	]]:S1 	I	 q1]]:S1 	I	
 ;;]]:S1 		 ]]:S1 	MT	]]:S1 	LD	]]:S1 	H	 	S	 		 		 		 		 		 		 		 		 	
	 		 		 		 		 	s   K<+L	LL#L0>L=	M
;M-M$)M14M>NN/N#<L	LL #L-0L:=M
MM!$M.1M;>NNN #N,c                     fd}dj                    d}t        j                  t        |      5   |g d       d d d         |d        |d        |d       y # 1 sw Y   "xY w)	Nc                 "    t        dd|       S )N   rQ   )r   r"   r   )r(   )r   r9   s    r'   fz;TestGeneric.test_frame_or_series_compound_dtypes.<locals>.f   s    _AQeLLr)   z+compound dtypes are not implemented in the z constructorrO   ))Azdatetime64[h])Bstr)Cint32int64r   zM8[ns])rR   rS   rT   NotImplementedError)r8   r9   r_   rX   s    `  r'   $test_frame_or_series_compound_dtypesz0TestGeneric.test_frame_or_series_compound_dtypes   sp    	M%../|= 	
 ]].c: 	FDE	F 	
'
	)	(	F 	Fs   AA'c                 4   t        |d      }d|_        t        |d      }d|_        dD ]*  } t        ||      d      }t        j                  ||       , dD ]*  } t        ||      |      }t        j                  ||       , dD ]\  } t        ||      |      }t        j                  ||       t        j                  |||z         t        j                  |||z         ^ |j                  |      }t        j                  ||       ||z   }t        j                  |       dD ]k  } t        ||      |      } t        ||      |      }t        j                  |       t        j                  ||z         t        j                  ||z         m y )Nr^   rN   foobar)__add____sub____truediv____mul__rQ   )__eq____le____ge__)r(   namegetattrr6   assert_metadata_equivalentcombine_first)r8   r9   rK   o2opr=   v1v2s           r'   test_metadata_propagationz%TestGeneric.test_metadata_propagation   s    oQ/a0 C 	5B#WQ^A&F))!V4	5
 C 	5B#WQ^A&F))!V4	5
 1 	6BB"B))!R0))!R"W5))!R"W5		6 $
%%a0 R
%%f- 1 	3BB"BB#B))"-))"r'2))"r'2	3r)   c                     t        |d      }|j                  t        j                  |j                        k(  sJ |j                  dt        |j                        z  k(  sJ y )N
   rN   )r(   sizer   r   r   lenaxesr8   r9   rK   s      r'   test_size_compatzTestGeneric.test_size_compat   sN     oR0vv))))vvs166{****r)   c                    t        |d      }t        j                  t        dd      5  t	        t        j                  |d            dk(  sJ t	        t        j                  |d            dk(  sJ 	 d d d        y # 1 sw Y   y xY w)Nr|   rN   z.swapaxes' is deprecatedF)rP   check_stacklevel   r   )r(   r6   assert_produces_warningFutureWarningr~   r   array_splitr   s      r'   test_split_compatzTestGeneric.test_split_compat   sw    oR0''!;e
 	2 r~~a+,111r~~a+,111		2 	2 	2s   A	A==Bc                 4   t        |d      }d}d}t        j                  t        |      5  |j	                  |       d d d        t        j                  t        |      5  |j                  |       d d d        t        j                  t        |      5  |j                  |       d d d        t        j                  t        |      5  |j                  |       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   XxY w# 1 sw Y   y xY w)Nr   z	Star Warszunexpected keywordrO   )epic)r(   rS   rT   	TypeErrormaxvarsumany)r8   r9   r<   starwarserrmsgs        r'   test_stat_unexpected_keywordz(TestGeneric.test_stat_unexpected_keyword   s    +%]]9F3 	#GGG"	#]]9F3 	#GGG"	#]]9F3 	#GGG"	#]]9F3 	#GGG"	# 	#	# 	#	# 	#	# 	#	# 	#s/   C*"C6DD*C36C?DD)r   cumsumr   r   c                     t        |d      }t        ||      }|j                  |k(  sJ |j                  j	                  |      sJ y )Nr   )r(   rs   rR   __qualname__endswith)r8   r,   r9   r<   r_   s        r'   test_api_compatzTestGeneric.test_api_compat   sF    
 +CzzT!!!~~&&t,,,r)   c                 \   t        |d      }t        j                  dg      }d}t        j                  t
        |      5  |j                  |       d d d        t        j                  t
        |      5  |j                  |       d d d        t        j                  t
        |      5  |j                  |       d d d        t        j                  t
        |      5  |j                  |       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   XxY w# 1 sw Y   y xY w)Nr   r   $the 'out' parameter is not supportedrO   out)
r(   r   rH   rS   rT   rU   r   r   r   r   )r8   r9   r<   r   r   s        r'   test_stat_non_defaults_argsz'TestGeneric.test_stat_non_defaults_args
  s    +hhsm7]]:V4 	GGG	]]:V4 	GGG	]]:V4 	GGG	]]:V4 	GGG	 		 		 		 		 	s0    C>6D
,D"D">D
DD"D+c                 d   dgdg|j                   dz
  z  z   }t        ||dd      }t        j                  |j	                         |       t        j                  |j	                  dd      |       t        j                  |j	                  dd	      |       d
gdg|j                   dz
  z  z   }t        ||dd      }t        j                  |j	                         |       t        j                  |j	                  dd      |       t        j                  |j	                  dd      |       y )Ni  rQ   int8)r   r"   r   g     p@)beforeafterg     @@i g    `FAg    >A)r   r(   r6   r7   truncate)r8   r9   r   smallbigs        r'   test_truncate_out_of_boundsz'TestGeneric.test_truncate_out_of_bounds  s     1#!:!:Q!>?@/5aH
(%0
as;UC
b<eD so&?&?!&CDEfAF
,
AS93?
Bc:C@r)   c                 &    | j                  d      S )NFdeepr   xs    r'   <lambda>zTestGeneric.<lambda>+  s    166u6#5 r)   c                 &    | j                  d      S )NTr   r   r   s    r'   r   zTestGeneric.<lambda>+  s    TAR r)   r   )r   rQ   r   c                 d    t        ||      } ||      }||usJ t        j                  ||       y N)r(   r6   r7   )r8   r9   r   r,   r<   obj_copys         r'   test_copy_and_deepcopyz"TestGeneric.test_copy_and_deepcopy)  s5     /9s"""
#&r)   c                      |       }d}t        j                  t        |      5  |j                  }d d d        |j                  u sJ y # 1 sw Y   xY w)Nz&(Series|DataFrame)._data is deprecatedrO   )r6   r   DeprecationWarning_data_mgr)r8   r9   r<   rX   mgrs        r'   test_data_deprecatedz TestGeneric.test_data_deprecated5  sN    6''(:#F 	))C	chh	 	s   AAN)rR   
__module__r   rS   markparametrizerb   lowerr2   r   r?   rL   r[   rg   rz   r   r   r   r   r   r   r   r   r   r   ).0r   s   00r'   r+   r+   7   s#   [[II#'<0aQ	\0$v,7QAqwwyL78	
..#6/b(03d+2# [[V%DE- F-A" [[	x57RS [[Wi0' 1	
's 17s   DDr+   c                      e Zd Zej                  j                  d e ed      ej                         e ed      D  cg c]  }t        |       c}}} e      g      d        Zd Zd Zd Zd Zd	 Zd
 Zej                  j                  d e ed      ej                         e ed      D  cg c]  }t        |       c}}} e      g      d        Zd Zd Zej                  j                  d e ed      ej                         e ed      D  cg c]  }t        |       c}}} e      g      d        Zd Zd Zd Zd ZddZyc c}}} w c c}}} w c c}}} w )TestNDFrameserr|   r   c                 L    t        j                  |j                         |       y r   )r6   assert_series_equalsqueezer8   r   s     r'   test_squeeze_series_noopz$TestNDFrame.test_squeeze_series_noop@  s     	s{{}c2r)   c                     t        t        j                  d            }t        j                  |j                         |       y )Nr   )r   r   eyer6   assert_frame_equalr   r8   dfs     r'   test_squeeze_frame_noopz#TestNDFrame.test_squeeze_frame_noopK  s*    rvvay!
bjjlB/r)   c           	      0   t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      j                  d
g      }t        j                  |j                         |d
          y )Nr   r|   r/   r-   r   
2000-01-01r|   ra   periodsfreqrF   indexr`   rF   )r   r   r   r   r    r   r2   objectr	   reindexr6   r   r   r   s     r'   test_squeeze_frame_reindexz&TestNDFrame.test_squeeze_frame_reindexP  sr    II!!!$44W=$v,f5\2C@
 '3%'
 	 	
 	rzz|RW5r)   c                     t        g dt        j                        }t        |g      }t	        j
                  ||j                                t	        j
                  ||j                                y )Nfive)rr   r   )r   r   r   r   r6   r   r   )r8   empty_seriesempty_frames      r'   test_squeeze_0_len_dimz"TestNDFrame.test_squeeze_0_len_dimY  sR    bvRZZ@/
|\-A-A-CD
|[-@-@-BCr)   c           	         t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      j                  d d d df   }|j                  d
k(  sJ t        j                  |j                  d      |j                  d          t        j                  |j                  d      |j                  d          t        j                  |j                  d      |j                  d d df          t        j                  |j                  d      |j                  d d df          |j                         |j                  d   k(  sJ d}t        j                  t         |      5  |j                  d       d d d        d}t        j                  t         |      5  |j                  d       d d d        y # 1 sw Y   BxY w# 1 sw Y   y xY w)Nr   )rQ   r/   r-   r   r   rQ   ra   r   r   )rQ   rQ   r   r;   r   rF   )r   r   z)No axis named 2 for object type DataFramerO   z)No axis named x for object type DataFramer   )r   r   r   r   r    r   r2   r   r	   ilocr   r6   r   r   rS   rT   rU   )r8   r   rX   s      r'   test_squeeze_axiszTestNDFrame.test_squeeze_axis`  s   II!!!$44V<$v,f5\13?
 $q"1"u	
 xx6!!!
rzzqz12771:>
rzzwz7D
rzzqz12771a4=A
rzzyz92771a4=Izz|rwwt},,,9]]:S1 	JJAJ	9]]:S1 	!JJCJ 	! 	!	 		! 	!s   G*G6*G36G?c           	         t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }t        j                  |j                  d
      |       y )Nr   )r^   r/   r-   r   r   r^   ra   r   r   r   r   )r   r   r   r   r    r   r2   r   r	   r6   r   r   r   s     r'   test_squeeze_axis_len_3z#TestNDFrame.test_squeeze_axis_len_3t  s`    II!!!$44V<$v,f5\13?

 	bjjaj0"5r)   c           	         t        t        d      t        j                        }t	        j
                  t        j                  |      |       t        t        j                  j                  d      j                  d      t        t        d      t              t        ddd      	      j                  d
g      }t	        j
                  t        j                  |      |d
          y )Nr   r   r   r-   r   r|   ra   r   r   r`   r   )r   rB   r   r   r6   r   r   r   r   r   r    r   r2   r   r	   r   )r8   sr   s      r'   test_numpy_squeezezTestNDFrame.test_numpy_squeeze|  s    582::.
rzz!}a0II!!!$44W=$v,f5\2C@
 '3%'
 	 	
 	rzz"~r#w7r)   c                 L    t        j                  |j                         |       y r   )r6   r   	transposer   s     r'   test_transpose_seriesz!TestNDFrame.test_transpose_series  s     	s}}4r)   c           	      $   t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }t        j                  |j                         j                         |       y )
Nr   r   r-   r   r   r|   ra   r   r   )r   r   r   r   r    r   r2   r   r	   r6   r   r   r   s     r'   test_transpose_framez TestNDFrame.test_transpose_frame  sd    II!!!$44W=$v,f5\2C@

 	blln668"=r)   c           	      X   t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }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        y # 1 sw Y   y xY w)Nr   r   r-   r   r   r|   ra   r   r   z%the 'axes' parameter is not supportedrO   rQ   )r   )r   r   r   r   r    r   r2   r   r	   r6   get_objr   r   r   r7   rS   rT   rU   )r8   r9   r<   rX   s       r'   test_numpy_transposez TestNDFrame.test_numpy_transpose  s    II!!!$44W=$v,f5\2C@

 jjo.f$""2<<#4c: 	R\\#%67=5]]:S1 	&LL1%	& 	& 	&s   ?D  D)c                     g d}|j                  |      }t        |j                  j                  |      |j                  j                  |      |j                        }t        j                  ||       y )NrQ   r      r^   r   )datar   r   )taker   valuesr   r   r6   r   )r8   r   indicesr   r>   s        r'   test_take_serieszTestNDFrame.test_take_series  sZ     'hhw)))..)))

 	sH-r)   c           	         g d}t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd	      
      }|j                  |      }t        |j                  j                  |d      |j                  j                  |      |j                        }t        j                  ||       y )Nr   r   r   r-   r   r   r|   ra   r   r   r   r   )r   r   rF   )r   r   r   r   r    r   r2   r   r	   r   r   r   rF   r6   r   )r8   r   r   r   r>   s        r'   test_take_framezTestNDFrame.test_take_frame  s    &II!!!$44W=$v,f5\2C@

 ggga0((--(JJ

 	c8,r)   c                    g d}t        t        d            }t        j                  ||      }d}t	        j
                  t        |      5  |j                  |d       d d d        d}t	        j
                  t        |      5  |j                  ||       d d d        d	}t	        j
                  t        |      5  |j                  |d
       d d d        y # 1 sw Y   |xY w# 1 sw Y   OxY w# 1 sw Y   y xY w)N)r   r   rQ   r   z1take\(\) got an unexpected keyword argument 'foo'rO   r   )ri   r   r   z%the 'mode' parameter is not supportedclip)mode)	r   rB   r6   r   rS   rT   r   r   rU   )r8   r9   r   r<   rX   s        r'   test_take_invalid_kwargsz$TestNDFrame.test_take_invalid_kwargs  s    a!jjo.B]]9C0 	%HHW!H$	% 5]]:S1 	+HHW'H*	+ 6]]:S1 	+HHW6H*	+ 	+	% 	%	+ 	+	+ 	+s$   CC'>C3C$'C03C<c                 B   |} |t               }|j                  j                         }|D ]q  }|j                  |      |j                  |      k(  sJ |j	                  |      |j	                  |      k(  sJ |j                  |      |j                  |      k(  rqJ  y )Nr   )r   _AXIS_TO_AXIS_NUMBERkeys_get_axis_numberrC   _get_block_manager_axis)r8   r9   r!   r<   r   vs         r'   test_axis_classmethodsz"TestNDFrame.test_axis_classmethods  s    ))..0 	TA''*c.B.B1.EEEE%%a(C,>,>q,AAAA..q1S5P5PQR5SSSS	Tr)   c                     t        ddg      }|t        u r|j                         }|j                  |j                  u sJ |j	                         }|j                  |j                  usJ y )NrQ   r   )r   r   to_frameflagsr   )r8   r9   r<   rZ   s       r'   test_flags_identityzTestNDFrame.test_flags_identity  sY    aVni',,.CyyCII%%%xxzzz***r)   Nc                     d}t        j                  t        |      5  t        ddgi      j	                          d d d        y # 1 sw Y   y xY w)NzPDataFrame.bool is now deprecated and will be removed in future version of pandasrO   colF)r6   r   r   r   rV   )r8   msg_warns     r'   test_bool_depzTestNDFrame.test_bool_dep  sK    * 	 ''XF 	/uug&',,.	/ 	/ 	/s   AA)returnN)rR   r   r   rS   r   r   r   rB   r   r   rb   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  )r   rJ   rb   s   000r'   r   r   =  sn    [[59BJJ/E"I..qCF.f=	
330
6D!(6	8 [[59BJJ/E"I..qCF.f=	
55>&& [[59BJJ/E"I..qCF.f=	
..-+$T+/[ /N /L /s   E9E$$E+r   )NN)r   r   numpyr   rS   pandas.core.dtypes.commonr   pandasr   r   r   r	   pandas._testing_testingr6   r(   r+   r   r1   r)   r'   <module>r     sC   
   /  +@C CL{/ {/r)   