
    MhL                         S SK rS SKrS SKJr  S SKJrJrJrJ	r	J
r
JrJr  S SKJr  \R                   S 5       r " S S5      rg)    N)IncompatibleFrequency)	DataFramePeriodSeries	Timestamp
date_rangeperiod_rangeto_datetimec                      Sn [        SU SS9n[        [        R                  " U 5      [        R                  " U 5      S.US9$ )zN
Fixture for DataFrame of ints with date_range index

Columns are ['A', 'B'].
2   1/1/199053speriodsfreq)ABindex)r   r   nparange)Nrngs     V/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/methods/test_asof.pydate_range_framer      s9     	A
Z
7C299Q<biil;3GG    c                       \ rS rSrS rS rS rS rS r\	R                  R                  S\" S5      \" S	\" S5      S
94\" S5      \" S\" S5      S
94/5      S 5       rS rS rS rSrg)TestFrameAsof   c                    UR                  SS05      nSn[        R                  UR                  UR                  SS S4'   [        SUS-  SS	9nUR                  U5      nUR                  5       R                  S
5      R                  5       (       d   eUR                  S   nUR                  S   n[        U5      nUR                  U5      nUR                  5       R                  S
5      R                  5       (       d   eUR                  U:  UR                  U:  -  nXX   n	U	S:H  R                  S
5      R                  5       (       d   eg )Nr   floatr      r   r      25sr         )
astyper   nanlocr   r   asofnotnaalllist)
selfr   dfr   datesresultlbubmaskrss
             r   
test_basicTestFrameAsof.test_basic   s   $$c7^4')vvrxx2#$:q1u5A||~!!!$((****XXb\XXb\U||~!!!$((****"v||b'89\b~~a $$&&&&r   c                    SnUR                   S U R                  5       R                  SS05      n[        R                  UR
                  UR                  SS S4'   [        SUS-  SS	9nUR                  USS
9nUR                  U5      n[        R                  " XV5        UR                  USS/S
9nUR                  U5      n[        R                  " XV5        UR                  USS
9nUR                  SSS9R                  5       R                  U5      nSUR                   SS & US   R                  US   R                  5      US'   [        R                  " XV5        g )N
   r   r!         r   r#   r$   r   )subsetr   right)closed	      )iloccopyr'   r   r(   r)   r   r   r*   tmassert_frame_equalresampleffillreindexdtype)r.   r   r   r/   r0   r1   expecteds          r   test_subsetTestFrameAsof.test_subset4   s>   ""2A&++-44c7^D%'VVrxx!}c!":q1u5A s+775>
f/ Sz2775>
f/ s+;;uW;5;;=EEeLbc ,,RW]];
f/r   c                    SnUR                   S U R                  5       R                  S5      nUR                  S5      n[	        SS/[        S5      [        R                  S9n[        R                  " XE5        UR                  [        S/5      5      n[        [        S/5      SS/SS9n[        R                  " XE5        UR                  S5      nUR                  S5      n[        UR                  [         5      (       d   eg )	Nr9   float64z
1989-12-31r   r   )r   namerH   )r   columnsrH   D)rA   rB   r'   r*   r   r   r   rM   rC   assert_series_equalr
   r   rD   	to_period
isinstancerN   r   )r.   r   r   r/   r1   rI   s         r   test_missingTestFrameAsof.test_missingN   s     ""2A&++-44Y?&*9\#:"**
 	v0l^45|n-Sz
 	f/ \\#&&++v....r   c                     U" [         R                  /5      R                  S/5      nU" [         R                  /5      n[        R                  " X#5        g )Nr   )r   r(   r*   rC   assert_equal)r.   frame_or_seriesr1   rI   s       r   test_asof_all_nans TestFrameAsof.test_asof_all_nansh   s=     !"&&*//4"BFF8,
)r   c                 ,   SnUR                   n[        SUSS9n[        [        R                  US/S9R                  U5      n[        [        R                  US/S9n[        R                  " XV5        [        SUSS9n[        [        R                  U/ SQS9R                  U5      n[        [        R                  U/ SQS9n[        R                  " XV5        [        [        R                  SS	/SS
/S9R                  S/5      n[        [        R                  S/SS
/S9n[        R                  " XV5        [        [        R                  SS	/SS
/S9R                  S5      n[        [        R                  SS
/SS9n[        R                  " XV5        g )N   r   r$   r   r   )r   rO   )r   r   Cr%      r   r#   )r   rN   )
r   r   r   r   r(   r*   rC   rD   r   rQ   )r.   r   r   r   r0   r1   rI   s          r   test_all_nansTestFrameAsof.test_all_nanso   sH   
 $$:qu=266se<AA%HRVV53%@
f/ :qu=266oFKKERRVV5/J
f/ 266!Q#sDII1#NRVVA3c
C
f/266!Q#sDII!L"&&c
;
v0r   zstamp,expectedz2018-01-01 23:22:43.325+00:00r^   )rN   z2018-01-01 22:33:20.682+01:00r%   c                     [        SS/[        S5      [        S5      /S9nUR                  U5      n[        R                  " XB5        g )Nr%   r^   z2018-01-01 21:00:05.001+00:00z2018-01-01 22:35:10.550+00:00)datar   )r   r   r*   rC   rQ   )r.   stamprI   r/   r1   s        r   test_time_zone_aware_index(TestFrameAsof.test_time_zone_aware_index   sI    " Q9:9:
 
v0r   c                 .   UR                  SS05      nSn[        R                  UR                  UR                  SS S4'   [        SUS-  SS	9nUR                  U5      n[        R                  " S 5         S
US'   S S S 5        g ! , (       d  f       g = f)Nr   r!   r   r"   r   r   r#   r$   r   r%   r]   )	r'   r   r(   r)   r   r   r*   rC   assert_produces_warning)r.   r   r/   r   r0   r1   s         r   test_is_copyTestFrameAsof.test_is_copy   s     $$c7^4')vvrxx2#$:q1u5A''-F3K .--s   7B
Bc                 4   Sn[        SUSS9n[        [        R                  R	                  S5      R                  U5      US9nSn[        R                  " [        US9   UR                  UR                  S	5      5        S S S 5        g ! , (       d  f       g = f)
Nr   r   hr   r^   r   zInput has different freq)matchrP   )r	   r   r   randomdefault_rngstandard_normalpytestraisesr   r*   asfreq)r.   r   r   r/   msgs        r   %test_asof_periodindex_mismatched_freq3TestFrameAsof.test_asof_periodindex_mismatched_freq   sq    :qs;ryy,,Q/??B#N )]]0<GGCJJsO$ =<<s   !B		
Bc                     [        SSSS9n[        / SQUS S S9nUS   nUR                  U/5      n[        S/U/S9n[        R                  " XE5        g )	Nz
2017-01-01MSr:   )r   r   )TFTr   T)r   r   r*   rC   rQ   )r.   dtisertsresrI   s         r   test_asof_preserves_bool_dtype,TestFrameAsof.test_asof_preserves_bool_dtype   sY    D!<(CR9Whhtn4&-
s-r    N)__name__
__module____qualname____firstlineno__r6   rJ   rT   rY   r_   rp   markparametrizer   r   rd   rh   rt   r}   __static_attributes__r   r   r   r   r      s    '*04/4*16 [[ 9:qy)HIJ
 9:qy)HIJ		
11%	.r   r   )numpyr   rp   pandas._libs.tslibsr   pandasr   r   r   r   r   r	   r
   pandas._testing_testingrC   fixturer   r   r   r   r   <module>r      sH      5    H Hh. h.r   