
    Owg~6                        d dl Zd dlZd dlZd dlmZmZmZmZm	Z	m
Z
mZmZmZ d dlmZ d dlmZ ej&                  j)                  dddg      d        Zd Zej&                  j)                  dd	d
g      ej&                  j)                  dddg      ej&                  j)                  dd ej.                  d dd      g      ej&                  j)                  d ej0                  g dd       ej0                  g dd      g      d                             Zej&                  j)                  dg d      d        Zej&                  j)                  d eddg       e ed       ed      g       e	 ed       ed      g       e ed       ed      g      g      d        Zd Zej&                  j;                  d      ej&                  j)                  dd	d
g      ej&                  j)                  dddg      ej&                  j)                  dd ej.                  d dd      g      d                             Zd  Zej&                  j)                  d!d
d	g      ej&                  j)                  d"dd#gg      d$               Z ej&                  j)                  dg d%      ej&                  j)                  d&dg d'g      ej&                  j)                  d"dd#d(gg d)g      d*                      Z!ej&                  j)                  dddg      d+        Z"ej&                  j)                  d,e
eg      ej&                  j)                  d-ddgdfddgdfd#d(gdfg      d.               Z#ej&                  j)                  d,e
eg      d/        Z$d0 Z%ej&                  j)                  d&dg d'g      d1        Z&ej&                  j)                  dg d2      d3        Z'd4 Z(d5 Z)y)6    N)		DataFrameDatetimeIndexIndexPeriodPeriodIndexSeries	TimedeltaTimedeltaIndex	Timestamp)	get_arraydtypeint64c                    t        g dd      }t        ||       }t        j                  t        |      t        |            sJ |r3|j                  j
                  d   j                  j                         sJ |rMd|j                  d<   |j                  d   dk(  sJ t        j                  t        |      t        |            rmJ t        j                  |      5  d|j                  d<   d d d        |j                  d   dk(  sJ t        j                  t        |      t        |            sJ t        ||       }|r$d|j                  d<   |j                  d   dk(  sJ y t        j                  |      5  d|j                  d<   d d d        |j                  d   dk(  sJ y # 1 sw Y   xY w# 1 sw Y   *xY w)N         namer   r   r   r   )r   npshares_memoryr   _mgrblocksrefshas_referenceiloctmassert_cow_warning)r   using_copy_on_writewarn_copy_on_writeserresults        _/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/copy_view/test_constructors.pytest_series_from_seriesr%      s    
(C Cu%F IcNIf,=>>>{{!!!$))77999Axx{a##IcNIf4EFFF ""#56 	FKKN	xx{a	#	&0ABBB Cu%F{{1~""" ""#56 	CHHQK	{{1~"""#	 		 	s    F+>F7+F47G c                    t        g dd      }|j                  |j                  j                         t        |j                        |j                  j	                  d      fD ]  }t        ||      }t        j                  |j                  |j                        sJ t        j                  |      5  d|j                  d<   d d d        | r|j                  d   dk(  r~J |j                  d   dk(  rJ  t        |g d      }t        j                  |j                  |j                        rJ | r4|j                  j                  d   j                  j                         rJ y y # 1 sw Y   xY w)	Nr   r   r   idx)indexr   r   )r   r   r   r   )r   r(   copylistrenamer   r   valuesr   r   r   r   r   r   r   )r    r!   r"   r(   r#   s        r$   $test_series_from_series_with_reindexr-   B   s?    
(C
 					SYY			 $ 5)

FMM:::""#56 	FKKN	88A;!###88A;!###$" C|,F

FMM:::;;%%a(--;;==== 	 	s   5E,,E5	fastpathFTr'   r   r   )startstopsteparrr   r   Int64c                    ||d}d}t        j                  t        |      5  t        ||||      }d d d        j	                         }t        |d|      }| r!t        j                  t        |      |      r#J t        j                  t        |      |      sJ d|d<   | rt        j                  ||       y t        g d||n|j                  	      }	t        j                  ||	       y # 1 sw Y   xY w)
NF1The 'fastpath' keyword in pd.Series is deprecatedmatch)r   r(   r.   _datad   r   r9   r   r   r   )r   assert_produces_warningDeprecationWarningr   r)   getattrr   r   r   assert_series_equalr   )
r    r'   r   r.   r2   msgr"   ser_origdataexpecteds
             r$   test_series_from_arrayrC   `   s     {e'
=C		#	#$6c	B ESS8DExxzH3%D##IcND999	#555CF
sH-+e6GUSYYW
sH-E Es   C//C8r)   )TFNc                     t        j                  g dd      }t        |d|      }t        j                  t	        |      |      rJ y )Nr   r   r   int32)r   r)   )r   arrayr   r   r   )r    r)   r2   r"   s       r$   &test_series_from_array_different_dtyperG   {   s=    
((9G
,C
G$
/C	#4444    r   
2019-12-31
2020-12-31z1 daysz2 daysc                    t        |      }|j                  d      }| rGt        j                  t	        |      t	        |            sJ |j
                  j                  d      r,J t        j                  t	        |      t	        |            rJ |j                  d   |j                  d<   t        j                  ||       y )NTdeepr   r   )
r   r)   r   r   r   r   _has_no_referencer   r   assert_index_equal)r    r'   r"   rB   s       r$   test_series_from_indexrP      s     +CxxTx"H	#	#???88--a000##IcNIcNCCC((1+CHHQK#x(rH   c                     t        g dd      }t        |d      }t        j                  t	        |      t	        |            rJ | r|j
                  j                  d      sJ y y )Nr   r   r   rE   r   )r   r   r   r   r   r   rN   )r    r'   r"   s      r$   'test_series_from_index_different_dtypesrR      sX    
	
)C
G
$C	#	#???xx))!,,, rH   z.ignore:Setting a value on a view:FutureWarningc                     t        g dd      }|j                         }d}t        j                  t        |      5  t        |j
                  |||      }d d d        t        j                  t        |      t                    sJ | r|j
                  j                  d      rJ d|j                  d<   | rt        j                  ||       y t        g d	      }t        j                  ||       y # 1 sw Y   xY w)
Nr   r   r   r5   r6   )r   r.   r(   r   r9   r:   )r   r)   r   r;   r<   r   r   r   r   rN   r   r>   )	r    r'   r   r.   r"   r@   r?   ser2rB   s	            r$   test_series_from_block_managerrU      s    
 '
*CxxzH
=C		#	#$6c	B KchhehcJKIcNIdO<<<99..q111DIIaL
sH-+&
sH-K Ks   C44C=c                 H   t        g dd      }d}t        j                  t        |      5  t        |j                  d      }d d d        t        j                  t        |      t                    rJ | r|j                  j                  d      sJ y y # 1 sw Y   TxY w)Nr   r   r   z&Passing a SingleBlockManager to Seriesr6   rE   r   )	r   r   r;   r<   r   r   r   r   rN   )r    r"   r?   rT   s       r$   .test_series_from_block_manager_different_dtyperW      s    
'
*C
2C		#	#$6c	B /chhg./	#	$@@@yy**1--- / /s   BB!use_mgrcolumnsac                    t        dg di      }|j                         }|r|j                  }t        }n|}d }d}t	        j
                  ||d      5  t        |      }	d d d        t        j                  t        |d      t        	d            sJ t	        j                  |xr |       5  d|	j                  d<   d d d        | rCt        j                  t        |d      t        |	d            rJ t	        j                  ||       y t        j                  t        |d      t        |	d            sJ t	        j                  ||	       y # 1 sw Y   xY w# 1 sw Y   xY w)NrZ   r   z#Passing a BlockManager to DataFrameF)r7   check_stacklevelr9   r   )r   r)   r   r<   r   r;   r   r   r   r   r   assert_frame_equal)
r    r!   rY   rX   dfdf_origrA   warnr?   new_dfs
             r$   $test_dataframe_constructor_mgr_or_dfrb      s9   
 
C#	$BggiGww!
/C		#	#De	L !4! Ib#.	&#0FGGG			1A'k	B A ##Ib#$6	&#8NOOO
b'*	"c 2Ifc4JKKK
b&)! ! s   E-EEE")Nr   r3   r(   )r   r   r   b)rZ   rc   cc                    t        g d      }t        g d      }|j                         }t        g dg dd|||      }	t        ||d|||d      }
t        j                  t        |
d      t        |            sJ t        j                  |      5  d|
j                  d	<   d d d        |rBt        j                  t        |
d      t        |            rJ t        j                  ||       n|j                  d
   dk(  sJ t        g d      }t        g d      }t        ||d|||d      }
t        j                  |      5  d|j                  d
<   d d d        |rBt        j                  t        |
d      t        |            rJ t        j                  |
|	       y |
j                  d	   dk(  sJ y # 1 sw Y   xY w# 1 sw Y   oxY w)Nr            rZ   rc   )r(   rY   r   F)r(   rY   r   r)   rZ   
   r   r   r   )r   r)   r   r   r   r   r   r   r   r>   r]   )requestr    r!   rY   r(   r   s1s2s1_origrB   r#   s              r$   "test_dataframe_from_dict_of_seriesrq      s    
		B			BggiGi(weH r%EF
 Ifc2IbMBBB 
		1	2 D##Ifc$:IbMJJJ
r7+wwqzR 
		B			Br%EF 
		1	2 
##Ifc$:IbMJJJ
fh/{{4 B&&&)  s   F7G7GGc                     t        g d      }t        g d      }t        ||dg d| d      }t        |d      }t        j                  |t        |            rJ d|j
                  d<   t        |d      }t        j                  ||      sJ y )	Nr   rf   rj   Fr(   r   r)   rZ   r9   rl   r   r   r   r   r   r   )r   rn   ro   r^   
arr_before	arr_afters         r$   /test_dataframe_from_dict_of_series_with_reindexrw     s     
		B			B	"%Ye%	PB 2s#J
IbM:::BGGDM"c"IJ	222rH   conszdata, dtypec                     |||      }|j                         }t        ||      }t        j                  t	        |      t	        |d            sJ | r|j
                  j                  d      rJ t        j                  |      5  |d   |j                  d<   d d d        | rt        j                  ||       y y # 1 sw Y   #xY w)Nr   r   rl   )r)   r   r   r   r   r   rN   r   r   r   assert_equal)r    r!   rA   r   rx   objobj_origr^   s           r$   #test_dataframe_from_series_or_indexr~     s     t5
!CxxzH	3e	$BIcNIb!,<===77,,Q///			1	2 !R!
X& ! !s   B<<Cc                      |ddgd      }t        |d      }t        j                  t        |      t        |d            rJ | r|j                  j                  d      sJ y y )Nr   r   r   r   rE   r   )r   r   r   r   r   rN   )r    rx   r|   r^   s       r$   3test_dataframe_from_series_or_index_different_dtyper   2  s_    
1vW
%C	3g	&B	#	"a0@AAAww((+++ rH   c                 Z   t        t        d      t        d      gt              }t        j                  t
        d      5  t        |      }d d d        t        j                  t        |      t        d            rJ | r|j                  j                  d      sJ y y # 1 sw Y   UxY w)NrI   rJ   r   zDtype inferencer6   r   )r   r   objectr   r;   FutureWarningr   r   r   r   r   rN   )r    r"   r^   s      r$   )test_dataframe_from_series_infer_datetimer   ;  s    
)L)9\+BC6
RC		#	#M9J	K s^	#	"a0@AAAww((+++  s   B!!B*c                    t        g d      }t        g d      }t        ||d| dd      }t        |d      }t        j                  |t        |            rJ d|j
                  d	<   t        |d      }t        j                  ||      sJ y )
N)g      ?g       @g      @rf   rj   r   Frs   rZ   r9   rl   rt   )r(   rn   ro   r^   ru   rv   s         r$   -test_dataframe_from_dict_of_series_with_dtyper   D  s    
 
	 B			B	"%U'	NB 2s#J
IbM:::BGGDM"c"IJ	222rH   )FNTc                     t        j                  ddgddgg      }t        ||      }| r|dus|du s|r%|#t        j                  t	        |d      |      rJ y t        j                  t	        |d      |      sJ y )	Nr   r   r   rg   r)   FTr   )r   rF   r   r   r   )r    r)   using_array_managerr2   r^   s        r$   test_frame_from_numpy_arrayr   U  s    
((QFQF#
$C	3T	"B 	4<DL##Ib!$4c::::	"a 0#666rH   c                 .   t        dg di      }|j                         }t        j                  t              5  t        j
                  |      }d d d        | r|j                  j                  d      rJ t        j                  t        |d      t        d            sJ t        j                  |      5  d|j                  d<   d d d        | rt        j                  ||       y t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   ExY w)NrZ   r   r   r9   rl   )r   r)   r   r;   r   from_recordsr   rN   r   r   r   r   r   r]   )r    r!   r^   r_   df2s        r$   *test_dataframe_from_records_with_dataframer   e  s    	C#	$BggiG		#	#M	2 )$$R()77,,Q///Ib#.	#s0CDDD			1	2 
b'*
b#&) )
 s   C?7D?DDc                 B   t        g d      }|j                  d      }t        d|id      }t        j                  t        |d      |j                        sJ | rC|j                  j                  d      rJ d|j                  d	<   t        j                  ||       y y )
Nr   TrL   rZ   Fr   r   r9   rl   )r   r)   r   r   r   r   _valuesr   rN   r   r   rO   )r    r'   rB   r^   s       r$   test_frame_from_dict_of_indexr   u  s    
	
CxxTx"H	C:E	*BIb#.<<<77,,Q///
c8,	 rH   )*numpyr   pytestpandaspdr   r   r   r   r   r   r	   r
   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   markparametrizer%   r-   
RangeIndexrF   rC   rG   rP   rR   filterwarningsrU   rW   rb   rq   rw   r~   r   r   r   r   r   r    rH   r$   <module>r      s     
 
 
  1 4/2'# 3'#T>< eT]34/2}r}}111'M NO	HBHHYg.'0RS. P 3 4.* !455 65 	q!fy.	,0GHIVL)6,+?@A	(+Yx-@AB		)	)- LMeT]34/2}r}}111'M NO. P 3 4 N.$. T5M2TC5M2* 3 3*8 ":;4"34TC:$GH)' I 5 <)'X 4/23 33" &%1aVTNaVW$5c
D7IJ' 2'  &%1, 2,, 4"343 53  !457 67' 	-rH   