
    Mh,                     \    S SK J r   S SKrS SKrS SKJrJrJrJrJ	r	  S SK
Jr   " S S5      rg)    )datetimeN)PeriodSeries
date_rangeperiod_rangeto_datetimec                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestCombineFirst   c           
      z   [        SSSS9n[        [        S5      [        S5      SS9nX4 H  n[        S[        R
                  [        R
                  S	S
[        R
                  S/US9n[        / SQUS9nUR                  U5      n[        / SQU[        R                  S9n[        R                  " Xg5        M     g )Nz
1950-01-31z
1950-07-31ME)startendfreqz1950-1z1950-7M            index)	   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   dtype)
r   r   r   r   npnancombine_firstfloat64tmassert_series_equal)selfdidxpidxidxabresultexpecteds           `/var/www/html/env/lib/python3.13/site-packages/pandas/tests/series/methods/test_combine_first.py"test_combine_first_period_datetime3TestCombineFirst.test_combine_first_period_datetime   s    ,TJ&"2x8HsS<C2662661a;3GA,C8A__Q'F33bjjQH""64      c                 d    UR                  US S 5      nUR                  UR                  :X  d   eg )Nr   )r   name)r!   datetime_seriesr'   s      r)   test_combine_first_name(TestCombineFirst.test_combine_first_name   s1     ..r/BC{{o22222r,   c                    [         R                  " S[         R                  S9n[        U[         R                  " S[         R                  S9S9nUS-  n[         R
                  US S S2'   UR                  U5      n[        R                  " XB5        UR                  U5      n[         R                  " U5      R                  5       (       d   e[        R                  " US S S2   US S S2   5        [        R                  " USS S2   USS S2   5        [        R                  " [        S5       Vs/ s H  n[        U5      PM     sn5      n[        [         R                  R!                  S5      R#                  S5      US9n[        [        S5       Vs/ s H  n[        U5      PM     snUS S S2   [$        S9nUR                  U5      n[        R                  " XR&                  US S S2      5        [        R                  " USS S2   R)                  [$        5      UR&                  USS S2      5        [        / SQ/ S	QS9n	[        / / [$        S9n
S
n[        R*                  " [,        US9   U	R                  U
5      nS S S 5        U	R.                  R)                  S5      U	l        [        R                  " U	W5        g s  snf s  snf ! , (       d  f       NP= f)N   r   r      r   
   r   )      ?r5      )r   r   r5   DThe behavior of array concatenation with empty entries is deprecatedmatchO)r   aranger   r   int64r   r   r   r    isfiniteallpdIndexrangestrrandomdefault_rngstandard_normalobjectlocastypeassert_produces_warningFutureWarningr   )r!   valuesseriesseries_copycombinedir   floatsstringsseremptymsgr'   s                r)   test_combine_first#TestCombineFirst.test_combine_first"   sB   2RZZ0bii"((&CDqj66CaC ''4
x0 ,,V4{{8$((****
x!}fSqSk:
x1~{14a4/@A %)4)Q#a&)45		--a0@@DER%)4)Q#a&)4E#A#JfU((0
wU3Q3Z(@A
vadd|226:HLLqtRSt<UV [	2r62T''SA&&u-F BII$$S)	
sF+! 54 BAs   0KK/K
Kc                    [        [        S[        R                  /5      5      R                  R                  U5      n[        [        [        R                  S/5      5      R                  R                  U5      nUR                  U5      n[        [        SS/5      5      R                  R                  U5      n[        R                  " XE5        [        [        S[        R                  /5      5      R                  R                  U5      n[        [        R                  S/5      nUR                  U5      n[        [        SSS5      S/SS9n[        R                  " XE5        g )N20102011i  r   zdatetime64[ns]r4   )
r   r   r   r   dtas_unitr   r   r    r   )r!   units0s1rsxps         r)   test_combine_first_dt64(TestCombineFirst.test_combine_first_dt64H   s    01255==dC 01255==dCb! 01255==dC
r& 01255==dCRVVV$%b!XdAq)62:JK
r&r,   c                    [        [        R                  " / SQUS9SS9n[        [        R                  " / SQUS9/ SQSS9nUR                  U5      n[        R                  " / S	QUS9n[        USS9n[        R
                  " Xd5        g )
N)201501012015010220150103tzser1)r.   )201605142016051520160516)r5   r8   r   ser2)r   r.   )rf   rg   rh   rm   rn   )r   rA   DatetimeIndexr   r   r    )r!   tz_naive_fixturerk   ro   r'   exp_valsexps          r)   test_combine_first_dt_tz_values0TestCombineFirst.test_combine_first_dt_tz_valuesW   s    AFVW
 AFVW

 ##D)##H
 XF+
s+r,   c           	      >   [        [        SSSS5      [        SSSS5      SSS9n[        [        S5      US9n[        US9nSn[        R
                  " [        US	9   UR                  U5      nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)
Ni  r   r6   hzEurope/Rome)r   rj   r   r9   r:   )	r   r   r   rC   r   rK   rL   r   r    )r!   
time_indexr`   s2rV   r'   s         r)   4test_combine_first_timezone_series_with_empty_seriesETestCombineFirst.test_combine_first_timezone_series_with_empty_seriesi   s    T1a#T1a$	

 E"IZ0*%T''SA%%b)F B
vr* BAs   B
Bc                     [        SS/5      n[        / SQ5      nUR                  U5      n[        / SQ5      n[        R                  " X45        g )N   +YNJ9    M,YNJ9 )r   r5   r8   )r}   r~   r8   )r   r   r   r    )r!   r`   ry   r'   r(   s        r)   "test_combine_first_preserves_dtype3TestCombineFirst.test_combine_first_preserves_dtypex   sF    (*=>?I!!"%GH
v0r,   c                    [        [        R                  " SSS9S05      n[        [        R                  " SSS9S[        R                  " SSS9S	05      nUR                  U5      n[        SS	/[        R                  " [        R                  " S
SS9[        R                  " SSS9/SS9S9n[
        R                  " X45        g )Nz
2019-05-01UTCri   r7   z2019-05-01 01:00:00+0100zEurope/Londong       @z
2019-05-02g      @z2019-05-01 00:00:00+00:00z2019-05-02 00:00:00+00:00rH   r4   r   )r   rA   	Timestampr   rB   r   r    )r!   
uniform_tzmulti_tzr'   r(   s        r)   test_combine_mixed_timezone,TestCombineFirst.test_combine_mixed_timezone   s    R\\,5A3GH
7OLc\e4c
 ))(3#J((LL!<GLL!<G 	
 	v0r,    N)__name__
__module____qualname____firstlineno__r*   r0   rW   rc   rt   rz   r   r   __static_attributes__r   r,   r)   r
   r
      s+    53$,L',$+11r,   r
   )r   numpyr   pandasrA   r   r   r   r   r   pandas._testing_testingr   r
   r   r,   r)   <module>r      s)        E1 E1r,   