
    .i              	       6   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                  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                  j                  dddg      d	               Zd
 Zd Zd Zd Zd Zd Zd Zd Zy)    )timezoneN)Series
date_rangeperiod_rangezfirst_slice,second_slice   fillc                 P   | t        |    }| t        |    }|j                  |||      \  }}|j                  j                  |j                  |      }	||j                  j	                  |	      }
|j                  j	                  |	      }t        |
      dkD  r$|j                  |
      |k(  j                         sJ t        |      dkD  r$|j                  |      |k(  j                         sJ |j                  |	      }|j                  |	      }|"|j                  |      }|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 y )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                 d/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/series/methods/test_align.py
test_alignr)      st    	{+,A|,-AWWQY4W8FBagg95J$$Z0$$Z0v;?JJv&$.33555v;?JJv&$.33555	
:	B	
:	BYYt_YYt_2r"2r"77d??77d??77d??77d??    c                    | d d j                         }| j                         }|j                  |d      \  }}d|d d |d d dk(  j                         rJ | j                         }|j                  |d      \  }}d|d d |d d dk(  j                         rJ | j                         }| d d j                         }|j                  |d      \  }}d|d d |d d dk(  j                         rJ | j                         }| d d j                         }|j                  |d      \  }}d|d d |d d dk(  j                         rJ y )N   leftr   right   r   )copyr   any)r   r    r   ra_rbs         r(   test_align_nocopyr6   7   sx     "A 	AGGAFG#EBBrF"1
!!! 	AGGAFG#EBBrF"1
!!! 	A  "AGGAGG$EArBrF"1
!!! 	A  "AGGAGG$EArBrF"1
!!!!r*   c                 0   | j                  |       \  }}|j                  | j                  usJ |j                  | j                  usJ |j                  j                  | j                        sJ |j                  j                  | j                        sJ y )N)r   r   is_)r   r   r    s      r(   test_align_same_indexr9   U   s~      1DAq77//////77//////77;;,,---77;;,,---r*   c                     t         j                  j                  t        d      t        d      t        d      gd      } t        j                  t        d      d      }t        t        j                  dd	      | 
      }t        t        j                  dd	      |
      }|j                  |d      \  }}|j                  |d      \  }}|}t        j                  ||       t        j                  ||       t        ddddt        j                  t        j                  gdz  | 
      }	t        j                  |	|       t        j                  |	|       |j                  |d      \  }}|j                  |d      \  }}t         j                  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                  |	|       y )Nr   r0   r   r    cnamesr    )r      int64dtyper   r-   r.   r/   r      )r   rD   r   r0            	   )r   r   rD   rD   )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_multiindexr\   ]   s    ==%%	q58U1X&o & D ((58#
&C			"G,D	9B			!7+3	7B 88BV8,LE588BW8-LE5D4'4'1aArvvrvv.2$?D4'4'88BW8-LE588BV8,LE5mm((	q58U1X&o ) G *':D4'4',"'2D4'4'r*   c                     t        dddd      } t        t        j                  j	                  d      j                  t        |             |       }|j                  d      }|j                  |      \  }}|j                  j                  t        j                  u sJ |j                  j                  t        j                  u sJ y )	N2001r,   hz
US/Eastern)periodsfreqtzr   rC   z
US/Central)r   r   rN   randomdefault_rngstandard_normalr   
tz_convertr   r   rb   r   utc)idx1serser_centralnew1new2s        r(   %test_align_dt64tzindex_mismatched_tzsrm      s    faclCD
&&q)99#d)DD
QC...K ;'JD$::==HLL(((::==HLL(((r*   c                     t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }|j                  |d d d   |        y )Nz1/1/2000z1/1/2010Y)ra   r   rC   r.   )r   r   rN   rc   rd   re   r   r   )r   rngr   s      r(   test_align_periodindexrq      sT    
z:C
8C			%%a(88SB#	NB HHR!W9H%r*   c                    t        t        d      t        j                  g d|             }t        t        d      t        j                  g d|             }|j	                  |      \  }}t        j                  g d|       }t        ddt
        j                  d	g|      }t        ddd	t
        j                  g|      }t        j                  ||       t        j                  ||       y )
Nr0   )r   r    drA   rC   r;   )r   r    r<   rs   r   rD   r   )	r   rL   rI   rM   r   rN   rP   r   r   )any_string_dtyper-   r/   result_leftresult_rightexpected_idxexpected_leftexpected_rights           r(   test_align_stringindexrz      s    %("((?BR"STD58288OCS#TUE $

5 1K8808HILAq"&&!,LAMQ1bff-\BN;6<8r*   c                     t        dgt        j                  j                  dgddg            } t        dgt        j                  j                  dgg d	            }| j	                  |      \  }}t        dgt        j                  j                  d
gg d            }t        dgt        j                  j                  d
gg d            }t        j                  ||       t        j                  ||       y )Nr   )rD   r0   r   r<   r=   rC   rD   rD   r   r0   r;   )rD   r0   r   )r   r<   r    r   rI   rJ   from_tuplesr   r   r   )r-   r/   ru   rv   ry   rx   s         r(   test_align_left_fewer_levelsr      s    1#R]]66xSz6RSD	
2==,,i[,PE !%

5 1K	
2==,,i[,PN 	
2==,,i[,PM ;6<8r*   c                     t        dgt        j                  j                  dgg d            } t        dgt        j                  j                  dgg d            }| j	                  |      \  }}t        dgt        j                  j                  d	gg d
            }t        dgt        j                  j                  d	gg d
            }t        j                  ||       t        j                  ||       y )Nr   )rD      r0   )r   rs   r<   r=   rC   rD   r|   r;   )rD   r   r0   r   )r   rs   r<   r    r}   )r-   r/   ru   rv   rx   ry   s         r(   &test_align_left_different_named_levelsr      s    	
2==,,i[,PD 	
2==,,i[,PE !%

5 1K	
2==,,l^CW,XM 	
2==,,l^CW,XN ;6<8r*   )datetimer   numpyrN   pytestpandasrI   r   r   r   pandas._testing_testingr   markparametrizer)   r6   r9   r\   rm   rq   rz   r   r    r*   r(   <module>r      s        
  
TT2J
T2J
dAY
T1I	 $, -<"<. (F)&
99$9r*   