
    I jJ                     h    S SK J r   S SKrS SKJ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)Pandas4Warning)PeriodSeries
date_rangeperiod_rangeto_datetimec                   P    \ rS rS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           /root/GenerationalWealth/GenerationalWealth/venv/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                  " XS5        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U
R                  U5      nU(       d   U
R*                  R)                  S
5      U
l        [        R                  " XR)                  [$        5      5        g s  snf s  snf )N   r   r      r   
   r   )      ?r6      )r   r   r6   O)r   aranger   r   int64r   r   r    r!   isfiniteallpdIndexrangestrrandomdefault_rngstandard_normalobjectlocastyper   )r"   using_infer_stringvaluesseriesseries_copycombinedir   floatsstringsseremptyr(   s                r*   test_combine_first#TestCombineFirst.test_combine_first$   s'   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""5)!		((-CI
vzz&'9: 54s   0J6J;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        g )N20102011)	r	   r   r   r   dtas_unitr   r    r!   )r"   units0s1rsxps         r*   test_combine_first_dt64(TestCombineFirst.test_combine_first_dt64I   s     01255==dC 01255==dCb! 01255==dC
r&r-   c                    [        [        S[        R                  /5      5      R                  R                  U5      n[        [        R                  S/5      nSn[        R                  " [        US9   UR                  U5      nS S S 5        [        [        SSS5      S/SU S3S	9nUS
;   a  UR                  R                  S5      n[        R                  " WU5        g ! , (       d  f       Nb= f)NrV   rW   z1Silently casting non-datetime 'other' to datetime)matchi  r   zdatetime64[]r5   )smsus)r	   r   r   r   rX   rY   r    assert_produces_warningr   r   r   r!   )r"   rZ   r[   r\   msgr]   r^   s          r*   +test_combine_first_dt64_casting_deprecation<TestCombineFirst.test_combine_first_dt64_casting_deprecationP   s     01255==dCRVVV$%A''cB!!"%B C XdAq)62KvQ:OP;t$B
r2& CBs   4C""
C0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)r6   r9   r   ser2)r   r/   )rl   rm   rn   rs   rt   )r   r?   DatetimeIndexr   r    r!   )r"   tz_naive_fixturerq   ru   r(   exp_valsexps          r*   test_combine_first_dt_tz_values0TestCombineFirst.test_combine_first_dt_tz_values_   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UR	                  U5      n[
        R                  " XBR                  [        R                  5      5        g )Ni  r   r7   hzEurope/Rome)r   rp   r   )
r   r   r   rA   r   r    r!   rH   r   r   )r"   
time_indexr\   s2r(   s        r*   4test_combine_first_timezone_series_with_empty_seriesETestCombineFirst.test_combine_first_timezone_series_with_empty_seriesq   su    T1a#T1a$	

 E"IZ0*%!!"%
vyy'<=r-   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   r6   r9   )r   r   r9   r   r   r    r!   r"   r\   r   r(   r)   s        r*   "test_combine_first_preserves_dtype3TestCombineFirst.test_combine_first_preserves_dtype~   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UTCro   r8   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:00rF   r5   r   )r   r?   	Timestampr   r@   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-   c                     [        / SQ/ SQS9n[        / SQ/ SQS9nUR                  U5      n[        S /S-  / SQS9n[        R                  " X45        g )N)NNN)r&   r'   cr   )r'   r   dr   )r&   r'   r   r   r   r   s        r*   test_combine_first_none_not_nan0TestCombineFirst.test_combine_first_none_not_nan   sM    &o>&o>!!"%4&1*,@A
v0r-    N)__name__
__module____qualname____firstlineno__r+   r1   rS   r_   ri   rz   r   r   r   r   __static_attributes__r   r-   r*   r   r      s5    53#;J'',$>11.1r-   r   )r   numpyr   pandas.errorsr   pandasr?   r   r   r   r   r	   pandas._testing_testingr    r   r   r-   r*   <module>r      s,      (   R1 R1r-   