
    d              	          d dl mZ d dlZd dlZd dlZd dlmZmZm	Z	 d dl
mZ ej                            dddgddggdd gddggddgdd ggdd gdd ggg          ej                            dddg          d	                         Zej                            dddgddggdd gddggddgdd ggdd gdd ggg          ej                            d
ddg          ej                            dddg          d                                     Zd Zd Zd Zej                            d
g d          d             Zd Zd Zd Zd ZdS )    )timezoneN)Series
date_rangeperiod_rangezfirst_slice,second_slice   fillc                    | t          |          }| t          |          }|                    |||          \  }}|j                            |j        |          }	||j                            |	          }
|j                            |	          }t          |
          dk    r-|                    |
          |k                                    sJ t          |          dk    r-|                    |          |k                                    sJ |                    |	          }|                    |	          }|*|                    |          }|                    |          }t          j
        ||           t          j
        ||           |j        dk    sJ |j        dk    sJ |j        dk    sJ |j        dk    sJ d S )N)join
fill_valuehowr   ts)slicealignindexr   
differencelenreindexallfillnatmassert_series_equalname)datetime_seriesfirst_slicesecond_slice	join_typer	   abaaab
join_indexdiff_adiff_beaebs                 b/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/series/methods/test_align.py
test_alignr*      s    	{+,A|,-AWWQY4W88FBag955J$$Z00$$Z00v;;??JJv&&$.3355555v;;??JJv&&$.3355555	
:		B	
:		BYYt__YYt__2r"""2r"""7d????7d????7d????7d??????    methodpadbfilllimit   c                    | t          |          }| t          |          }|                    ||||          \  }}	|j                            |j        |          }
|                    |
          }|                    |
          }|                    ||          }|                    ||          }t          j        ||           t          j        |	|           d S )N)r   r,   r/   r   )r,   r/   )r   r   r   r   r   r   r   r   )r   r   r   r   r,   r/   r    r!   r"   r#   r$   r'   r(   s                r)   test_align_fill_methodr2   7   s     	{+,A|,-AWWQYvUWCCFBag955J	
:		B	
:		B	&	.	.B	&	.	.B2r"""2r"""""r+   c                     | d d                                          }|                                  }|                    |d          \  }}d|d d<   |d d         dk                                    rJ |                                  }|                    |dd          \  }}d|d d<   |r#|d d         dk                                    rJ n"|d d         dk                                    sJ |                                  }| d d                                          }|                    |d          \  }}d|d d<   |d d         dk                                    rJ |                                  }| d d                                          }|                    |dd          \  }}d|d d<   |r$|d d         dk                                    rJ d S |d d         dk                                    sJ d S )	N   leftr   F)r   copyright   r   )r7   r   anyr   )r   using_copy_on_writer!   r    ra_rbs          r)   test_align_nocopyr?   U   s/     ""A 	AGGAFG##EBBrrF"1"
!!!!! 	AGGAFG//EBBrrF "bqbEQJ##%%%%%%"1"
!!!!! 	A  ""AGGAGG$$EArBrrF"1"
!!!!! 	A  ""AGGAG%G00EArBrrF "bqbEQJ##%%%%%%%"1"
!!!!!!!r+   c                 6   |                      | d          \  }}|j        | j        u sJ |j        | j        u sJ |                      | d          \  }}|s"|j        | j        usJ |j        | j        usJ d S |j        | j        u sJ |j        | j        u sJ d S )NF)r7   T)r   r   )r   r;   r    r!   s       r)   test_align_same_indexrA   y   s      u ==DAq7o+++++7o+++++  t <<DAq 0wo33333wo3333333w//////w////////r+   c                     t           j                            t          d          t          d          t          d          gd          } t          j        t          d          d          }t          t          j        dd	          | 
          }t          t          j        dd	          |
          }|                    |d          \  }}|                    |d          \  }}|}t          j
        ||           t          j
        ||           t          ddddt          j        t          j        gdz  | 
          }	t          j
        |	|           t          j
        |	|           |                    |d          \  }}|                    |d          \  }}t           j                            t          d          t          d          t          d          gd          }
t          g d|

          }t          j
        ||           t          j
        ||           t          g ddz  |

          }	t          j
        |	|           t          j
        |	|           d S )Nr   r9   r    r!   cnamesr!   )r      int64)dtyper   r5   r6   r8   r   r0   )r   r0   r   r9            	   )r   r   r0   r0   )pd
MultiIndexfrom_productrangeIndexr   nparanger   r   r   nan)midxidxs1s2res1lres1rres2lres2rexplexprexp_idxs              r)   test_align_multiindexrb      s=    =%%	q588U1XX&o &  D (588#
&
&
&C		"G,,,D	9	9	9B		!7+++3	7	7	7B 88BV8,,LE588BW8--LE5D4'''4'''1aArvrv.2$???D4'''4'''88BW8--LE588BV8,,LE5m((	q588U1XX&o )  G ***':::D4'''4''',,,"'222D4'''4'''''r+   )backfillr.   r-   ffillNc                 F   t          t          d          t          d                    }t          j        dt          d          t          d                    }|                    ||           \  }}t          j        ||           t          j        ||           d S )Nr9   rJ   g        )r   columns)r,   )r   rR   rO   	DataFramer   r   r   assert_frame_equal)r,   serdf
result_ser	result_dfs        r)    test_align_with_dataframe_methodrm      s     qq
*
*
*C	cq588	<	<	<BIIbI88J	:s+++)R(((((r+   c                  d   t          dddd          } t          t          j                            t          |                     |           }|                    d          }|                    |          \  }}|j        j	        t          j        u sJ |j        j	        t          j        u sJ d S )N2001r4   Hz
US/Eastern)periodsfreqtzrJ   z
US/Central)r   r   rT   randomrandnr   
tz_convertr   r   rs   r   utc)idx1ri   ser_centralnew1new2s        r)   %test_align_dt64tzindex_mismatched_tzsr|      s    faclCCCD
T++4
8
8
8C....K ;''JD$:=HL((((:=HL((((((r+   c                     t          ddd          }t          t          j                            t          |                    |          }|                    |d d d         |            d S )Nz1/1/2000z1/1/2010A)rr   rJ   r   r6   )r   r   rT   rt   ru   r   r   )r   rngr   s      r)   test_align_periodindexr      sd    
z:C
8
8
8C		C))	5	5	5B HHR!W9H%%%%%r+   c                  *   t          dgt          j                            dgddg                    } t          dgt          j                            dgg d	                    }|                     |          \  }}t          dgt          j                            d
gg d                    }t          dgt          j                            d
gg d                    }t          j        ||           t          j        ||           d S )Nr   )r0   r9   r    rD   rE   rJ   r0   r0   r   r9   rC   )r0   r9   r   )r    rD   r!   r   rO   rP   from_tuplesr   r   r   )r5   r8   result_leftresult_rightexpected_rightexpected_lefts         r)   test_align_left_fewer_levelsr      s   1#R]66xSz6RRSSSD	
2=,,i[,PP  E !%

5 1 1K	
2=,,i[,PP  N 	
2=,,i[,PP  M ;666<88888r+   c                  *   t          dgt          j                            dgg d                    } t          dgt          j                            dgg d                    }|                     |          \  }}t          dgt          j                            d	gg d
                    }t          dgt          j                            d	gg d
                    }t          j        ||           t          j        ||           d S )Nr   )r0      r9   )r    drD   rE   rJ   r0   r   rC   )r0   r9   r   r   )r    rD   r   r!   r   )r5   r8   r   r   r   r   s         r)   &test_align_left_different_named_levelsr      s*   	
2=,,i[,PP  D 	
2=,,i[,PP  E !%

5 1 1K	
2=,,l^CWCWCW,XX  M 	
2=,,l^CWCWCW,XX  N ;666<88888r+   )datetimer   numpyrT   pytestpandasrO   r   r   r   pandas._testing_testingr   markparametrizer*   r2   r?   rA   rb   rm   r|   r   r   r    r+   r)   <module>r      s                          
       
TT2J
T2J
dAY
T1I	  $,,  -, < 
TT2J
T2J
dAY
T1I	  E7#3444),,# # -, 54 #&!" !" !"H0 0 0 (  (  (F #N#N#NOO) ) PO)) ) )& & &9 9 9$9 9 9 9 9r+   