
    bMhL                         d dl Zd dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZmZ d dlmZ ej        d             Z G d d          ZdS )    N)IncompatibleFrequency)	DataFramePeriodSeries	Timestamp
date_rangeperiod_rangeto_datetimec                      d} t          d| d          }t          t          j        |           t          j        |           d|          S )zZ
    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     d/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/frame/methods/test_asof.pydate_range_framer      sH     	A
Z
7
7
7C29Q<<bill;;3GGGG    c                      e Zd Zd Zd Zd Zd Zd Zej	        
                    d ed           ed ed          	          f ed
           ed ed
          	          fg          d             Zd Zd Zd ZdS )TestFrameAsofc                    |                     ddi          }d}t          j        |j        |j        dd         df<   t          d|dz  d	          }|                    |          }|                                                    d
                                          sJ |j        d         }|j        d         }t          |          }|                    |          }|                                                    d
                                          sJ |j        |k    |j        |k     z  }||         }	|	dk                        d
                                          sJ d S )Nr   floatr         r      25sr         )
astyper   nanlocr   r   asofnotnaalllist)
selfr   dfr   datesresultlbubmaskrss
             r   
test_basiczTestFrameAsof.test_basic   s=   $$c7^44')vrx2#$:q1u5AAA||~~!!!$$((*****Xb\Xb\U||~~!!!$$((*****"v|b'89D\b~~a  $$&&&&&&&r   c                 (   d}|j         d |                                                             ddi          }t          j        |j        |j        dd         df<   t          d|dz  d	          }|                    |d
          }|                    |          }t          j
        ||           |                    |ddg
          }|                    |          }t          j
        ||           |                    |d
          }|                    dd                                                              |          }d|j         dd <   |d                             |d         j                  |d<   t          j
        ||           d S )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_subsetzTestFrameAsof.test_subset4   sq   "2A2&++--44c7^DD%'Vrx!}c!":q1u5AAA s++775>>
fh/// Sz22775>>
fh/// s++;;uW;55;;==EEeLLbcc ,,RW];;
fh/////r   c                 \   d}|j         d |                                                             d          }|                    d          }t	          ddgt          d          t          j                  }t          j	        ||           |                    t          dg                    }t          t          dg          ddgd          }t          j        ||           |                    d          }|                    d          }t          |j        t                     sJ d S )	Nr8   float64z
1989-12-31r   r   )r   namerG   )r   columnsrG   D)r@   rA   r'   r*   r   r   r   rK   rB   assert_series_equalr
   r   rC   	to_period
isinstancerL   r   )r.   r   r   r/   r1   rH   s         r   test_missingzTestFrameAsof.test_missingN   s    "2A2&++--44Y??&&*9\#:#:"*
 
 
 	vx000l^4455|n--Sz
 
 
 	fh/// \\#&&&+v.......r   c                      |t           j        g                              dg          } |t           j        g          }t          j        ||           d S )Nr   )r   r(   r*   rB   assert_equal)r.   frame_or_seriesr1   rH   s       r   test_asof_all_nansz TestFrameAsof.test_asof_all_nansh   sR     !"&**//44"?BF8,,
)))))r   c                    d}|j         }t          d|d          }t          t          j        |dg                              |          }t          t          j        |dg          }t          j        ||           t          d|d          }t          t          j        |g d                              |          }t          t          j        |g d          }t          j        ||           t          t          j        dd	gdd
g                              dg          }t          t          j        dgdd
g          }t          j        ||           t          t          j        dd	gdd
g                              d          }t          t          j        dd
gd          }t          j	        ||           d S )N   r   r$   r   r   )r   rM   )r   r   Cr%      r   r#   )r   rL   )
r   r   r   r   r(   r*   rB   rC   r   rO   )r.   r   r   r   r0   r1   rH   s          r   test_all_nanszTestFrameAsof.test_all_nanso   s   
 $:qu===26se<<<AA%HHRV53%@@@
fh/// :qu===26oooFFFKKERRRV5///JJJ
fh/// 26!Q#sDDDII1#NNRVA3c
CCC
fh///26!Q#sDDDII!LL"&c
;;;
vx00000r   zstamp,expectedz2018-01-01 23:22:43.325+00:00rZ   )rL   z2018-01-01 22:33:20.682+01:00r%   c                     t          ddgt          d          t          d          g          }|                    |          }t          j        ||           d S )Nr%   rZ   z2018-01-01 21:00:05.001+00:00z2018-01-01 22:35:10.550+00:00)datar   )r   r   r*   rB   rO   )r.   stamprH   r/   r1   s        r   test_time_zone_aware_indexz(TestFrameAsof.test_time_zone_aware_index   sf    " Q9::9::
 
 
 
vx00000r   c                 6   |                     ddi          }d}t          j        |j        |j        dd         df<   t          d|dz  d	          }|                    |          }t          j        d           5  d
|d<   d d d            d S # 1 swxY w Y   d S )Nr   r    r   r!   r"   r   r#   r$   r   r%   rY   )	r'   r   r(   r)   r   r   r*   rB   assert_produces_warning)r.   r   r/   r   r0   r1   s         r   test_is_copyzTestFrameAsof.test_is_copy   s     $$c7^44')vrx2#$:q1u5AAA'-- 	 	F3K	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ;BBBc                 l   d}t          d|d          }t          t          j                            d                              |          |          }d}t          j        t          |          5  |	                    |
                    d	                     d d d            d S # 1 swxY w Y   d S )
Nr   r   hr   rZ   r   zInput has different freq)matchrN   )r	   r   r   randomdefault_rngstandard_normalpytestraisesr   r*   asfreq)r.   r   r   r/   msgs        r   %test_asof_periodindex_mismatched_freqz3TestFrameAsof.test_asof_periodindex_mismatched_freq   s    :qs;;;ry,,Q//??BB#NNN )]0<<< 	% 	%GGCJJsOO$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   3)B))B-0B-c                     t          ddd          }t          g d|d d                   }|d         }|                    |g          }t          dg|g          }t          j        ||           d S )	Nz
2017-01-01MSr9   )r   r   )TFTr   T)r   r   r*   rB   rO   )r.   dtisertsresrH   s         r   test_asof_preserves_bool_dtypez,TestFrameAsof.test_asof_preserves_bool_dtype   s    D!<<<(((CRC999Whhtnn4&---
sH-----r   N)__name__
__module____qualname__r6   rI   rR   rV   r[   ri   markparametrizer   r   r_   rb   rm   ru    r   r   r   r      s(       ' ' '*0 0 04/ / /4* * *1 1 16 [ 	9::qyy)HIIJJJ
 	9::qyy)HIIJJJ		
 1 1 1  % % %	. 	. 	. 	. 	.r   r   )numpyr   ri   pandas._libs.tslibsr   pandasr   r   r   r   r   r	   r
   pandas._testing_testingrB   fixturer   r   r{   r   r   <module>r      s         5 5 5 5 5 5                        H H Hh. h. h. h. h. h. h. h. h. h.r   