1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
U
­ý°dÞ±ã@sRdZddlmZmZmZddlZddlZddlZddlmZddl    m
Z
ddl m Z m Z mZmZmZddlmZddlmmZddlZddlmZmZmZmZmZmZddlm Z!dd    l"m#Z$ed
d d ƒed d d ƒZ%Z&d d„Z'Gdd„dƒZ(Gdd„dƒZ)Gdd„dƒZ*Gdd„dƒZ+Gdd„dƒZ,Gdd„dƒZ-dd„Z.Gdd„dƒZ/dS)zP
test date_range, bdate_range construction from the convenience range functions
é)ÚdatetimeÚtimeÚ    timedeltaN)Útimezone)Ú    timezones)ÚBDayÚCDayÚ
DateOffsetÚMonthEndÚprefix_mapping)ÚOutOfBoundsDatetime)Ú DatetimeIndexÚ    TimedeltaÚ    TimestampÚ bdate_rangeÚ
date_rangeÚoffsets)Ú_generate_rangeéÙééÚcCsÄ||dk}||dk}|dkr2|r2|dd…}nŽ|dkrL|rL|dd…}nt|dkrj|rj|rj|dd…}nV|dkr„|r„|dd…}n<|dkrž|rž|dd…}n"|dkr´|dd…}n |dd…}|S)    z8Helper to get expected range from a both inclusive rangeréÿÿÿÿÚleftNÚrightrÚneitherÚboth©)Zbegin_to_matchZ end_to_matchÚ
both_rangeZinclusive_endpointsZ
left_matchZ right_matchÚexpected_rangerrúed:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexes/datetimes/test_date_range.pyÚ_get_expected_range*s        r c@sBeZdZdd„Zdd„Zdd„Zejdd„ƒZd    d
„Z    d d „Z
d S)ÚTestTimestampEquivDateRangecCs2tdddd}|d}tddd}||ks.t‚dS©NÚ20090415Ú20090519ú
US/Eastern©Útzr©rrÚAssertionError©ÚselfÚrngÚstampÚtsrrrÚtest_date_range_timestamp_equivLs z;TestTimestampEquivDateRange.test_date_range_timestamp_equivcCs2tdddd}|d}tddd}||ks.t‚dS)Nr#r$údateutil/US/Easternr&rr(r*rrrÚ(test_date_range_timestamp_equiv_dateutilSs zDTestTimestampEquivDateRange.test_date_range_timestamp_equiv_dateutilcCs>tddt d¡d}|d}tdt d¡d}||ks:t‚dSr")rÚpytzrrr)r*rrrÚ-test_date_range_timestamp_equiv_explicit_pytzZszITestTimestampEquivDateRange.test_date_range_timestamp_equiv_explicit_pytzcCsFddlm}tdd|dƒd}|d}td|dƒd}||ksBt‚dS)Nr)Údateutil_gettzr#r$r%r&)Úpandas._libs.tslibs.timezonesr4rrr))r+Zgettzr,r-r.rrrÚ1test_date_range_timestamp_equiv_explicit_dateutilas
 zMTestTimestampEquivDateRange.test_date_range_timestamp_equiv_explicit_dateutilcCs6tdddƒ}t|dddd}t|ƒ}||ks2t‚dS)NéÞéérÚD©ÚperiodsÚfreqr)rrrr))r+Zdatetime_instanceÚtimestamp_instancer.rrrÚ6test_date_range_timestamp_equiv_from_datetime_instanceks zRTestTimestampEquivDateRange.test_date_range_timestamp_equiv_from_datetime_instancecCs*tddddd}tdƒ}||ks&t‚dS)Nz
2014-03-05rr:r;rr()r+r>r.rrrÚ2test_date_range_timestamp_equiv_preserve_frequencytszNTestTimestampEquivDateRange.test_date_range_timestamp_equiv_preserve_frequencyN) Ú__name__Ú
__module__Ú __qualname__r/r1r3ÚtdZskip_if_windowsr6r?r@rrrrr!Fs
        r!c @sâeZdZej ddddddddg¡d    d
„ƒZd d „Zd d„Zdd„Z    dd„Z
dd„Z ejj dd„ƒZ dd„Zdd„Zej dddg¡dd„ƒZej ddd g¡d!d"„ƒZej dd#d$g¡d%d&„ƒZd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zej d3d4d5d6ged7d8d8ƒed7d8d9ƒd6ged4ƒed5ƒd6ged4d6d:ed5d6d:d6ged4d6d:ed5d6d:d;gg¡d<d=„ƒZd>d?„Zd@dA„ZdBdC„ZdDdE„ZdFdG„Z ej dHdI¡dJdK„ƒZ!dLdM„Z"dNdO„Z#dPdQ„Z$dRdS„Z%dTdU„Z&ej dVeedWd9dXƒd6d:eedWd9dYƒd6d:geedZd[d8ƒd6d:eedZd[dXƒd6d:gg¡d\d]„ƒZ'd^d_„Z(ej dd`dadbdcdddg¡dedf„ƒZ)ej dd`dadbdcdddg¡dgdh„ƒZ*ej dd`dadbdcdddg¡didj„ƒZ+dkdl„Z,dmdn„Z-dodp„Z.dqdr„Z/dsdt„Z0dudv„Z1dwdx„Z2dydz„Z3d;S){ÚTestDateRangesr=ÚNÚUÚLÚTÚSÚHr:csÈtd|›ƒ‰tdƒ‰tˆˆˆdˆ|d}t‡‡fdd„tddƒDƒ|d    }t ||¡tˆdˆˆˆ|d}tg|d    }t ||¡tˆˆˆˆ|d}tˆˆg|d    }t ||¡dS)
NÚ1z
1970-01-01r9©ÚstartÚendr=csg|]}ˆ|ˆ‘qSrr)Ú.0Ún©rDr.rrÚ
<listcomp>ˆsz8TestDateRanges.test_date_range_edges.<locals>.<listcomp>ré©r=)rrrr ÚrangeÚtmÚassert_index_equal)r+r=ÚidxÚexprrRrÚtest_date_range_edges|s4
ýþ 
ý  ýz$TestDateRanges.test_date_range_edgesc    Cs6tdƒ}tjtddttjd|dW5QRXdS)NrúCannot generate range with©Úmatché©rOr<r=)rÚpytestÚraisesr rrÚmin)r+r=rrrÚ)test_date_range_near_implementation_boundŸsz8TestDateRanges.test_date_range_near_implementation_boundc    Cs\d}tjt|dtdtjddW5QRXtjt|dttjdddW5QRXdS)Nz$Neither `start` nor `end` can be NaTr]ú
2016-01-01r:rM)rarbÚ
ValueErrorrÚpdZNaT©r+ÚmsgrrrÚtest_date_range_nat¦s
z"TestDateRanges.test_date_range_natc    Csxt d¡tdddd}W5QRX|dtdƒks8t‚t|ƒdksHt‚d}tjt|dtdd    d
d W5QRXdS) Nú
1677-09-22iÿAr:©rNr<r=rr\r]z
1969-05-04iÂë Z30000Dr;)    rWZassert_produces_warningrrr)Úlenrarbr )r+ÚdtirirrrÚ'test_date_range_multiplication_overflow®s z6TestDateRanges.test_date_range_multiplication_overflowcCsZtdddd}t|dt|ƒdd}| |¡s2t‚t|dt|ƒdd}| |¡sVt‚dS)    Nrkz
2262-04-11r:rMrrlrr`)rrmÚequalsr))r+rnÚdti2Zdti3rrrÚ*test_date_range_unsigned_overflow_handling½s
z9TestDateRanges.test_date_range_unsigned_overflow_handlingc    CsXd}tjt|dtddddW5QRXtjt|dtddddW5QRXdS)    Nr\r]ú
1970-02-01i'rKrlú
1969-11-14r`©rarbr rrhrrrÚ.test_date_range_int64_overflow_non_recoverableÉs
z=TestDateRanges.test_date_range_int64_overflow_non_recoverablec    Cs¼tdƒ}tdƒ}t||dd}|d|ks.t‚|d|ks>t‚t|t|ƒdd}t ||¡tdƒ}td    ƒ}t||dd}|d|ksŠt‚|d|ksšt‚t|t|ƒdd
}t ||¡dS) Nz
2262-02-23rtz-1HrMrrr`rsz
1677-10-22rl)rrr)rmrWrX)    r+rNrOÚexpectedrnZstart2Zend2Ú    expected2rqrrrÚ>test_date_range_int64_overflow_stride_endpoint_different_signsÔs zMTestDateRanges.test_date_range_int64_overflow_stride_endpoint_different_signsc    CsXd}tjt|dtddddW5QRXtjt|dtddddW5QRXdS)    NzCannot generate ranger]rei †r:r;z
1763-10-12r`rurhrrrÚtest_date_range_out_of_boundsìs
z,TestDateRanges.test_date_range_out_of_boundscCs"tdddd}t|ƒdkst‚dS)Nz1/1/2000 00:00z1/1/2000 00:18Z5minrUr9©rrmr)©r+r,rrrÚtest_date_range_gen_errorôsz(TestDateRanges.test_date_range_gen_errorZASZYScCs4tdd|d}tdddddg|d}t ||¡dS)    Nú1/1/2013ú7/1/2017rUú
2013-01-01z
2014-01-01z
2015-01-01reú
2017-01-01©rr rWrX©r+r=r,rZrrrÚtest_begin_year_aliasøs  þz$TestDateRanges.test_begin_year_aliasÚAÚYcCs2tdd|d}tddddg|d}t ||¡dS)Nr~rrUú
2013-12-31ú
2014-12-31ú
2015-12-31z
2016-12-31r‚rƒrrrÚtest_end_year_aliass 
ÿz"TestDateRanges.test_end_year_aliasZBAZBYcCs2tdd|d}tddddg|d}t ||¡dS)Nr~rrUr‡rˆr‰z
2016-12-30r‚rƒrrrÚtest_business_end_year_alias s 
ÿz+TestDateRanges.test_business_end_year_aliascCsxtdddd}tdddgdd}t ||¡|jdks:t‚tdd    dd}tdd
d gd    d}t ||¡|jd    kstt‚dS) Nz
2011-12-31z-2Ar8)r=r<z
2009-12-31z
2007-12-31rUz
2011-01-31z-2Mz
2010-11-30z
2010-09-30)rr rWrXr=r))r+r,rZrrrÚtest_date_range_negative_freqs  z,TestDateRanges.test_date_range_negative_freqcCs*tdddd}tdƒ}|d|ks&t‚dS)Nú1/1/2000é
ZBMSr;z
2000-01-03rr()r+r,Zex_firstrrrÚtest_date_range_bms_bug sz&TestDateRanges.test_date_range_bms_bugcsˆt ¡‰d}tˆ|ddd}tdƒ‰t‡‡fdd„t|ƒDƒˆd}t ||¡td    |dd
d}td d ƒ}|D]}| ¡|ksnt    ‚qndS) Né2FZ2D)r<Ú    normalizer=r_csg|]}ˆ|ˆ‘qSrr©rPÚi©ÚoffsetZsnaprrrS.sz<TestDateRanges.test_date_range_normalize.<locals>.<listcomp>rUz1/1/2000 08:15ÚBéé)
rÚtodayrrr rVrWrXrr))r+rQr,ÚvaluesZthe_timeÚvalrr”rÚtest_date_range_normalize's  
z(TestDateRanges.test_date_range_normalizecCsFtddtjddddd}|dtd    ƒks.t‚|dtd
ƒksBt‚dS) Nr€r_rr8Znearest)Z startingMonthÚweekdayZ    variationrlrz
2013-01-31z
2014-01-30)rrZFY5253rr)©r+ÚdrrrrÚtest_date_range_fy52527sýz%TestDateRanges.test_date_range_fy5252c    CsVtddddddƒ}tddddddƒ}d}tjt|d    t||d
d d W5QRXdS) NéÛrrTr8é(r—é    úVOf the four parameters: start, end, periods, and freq, exactly three must be specifiedr]rŽÚsr;)rrarbrfr©r+rNrOrirrrÚ#test_date_range_ambiguous_arguments@s ÿz2TestDateRanges.test_date_range_ambiguous_argumentscCsrtdddd}tdddgdd}t ||¡td    d
d dd }ttd d dtdd dtdd dgƒ}t ||¡dS)Nz
2018-04-24z
2018-04-27r8©r<z2018-04-24 00:00:00z2018-04-25 12:00:00z2018-04-27 00:00:00rUz2018-04-01 01:00:00z2018-04-01 04:00:00zAustralia/Sydney)r'r<z2018-04-01 01:00:00+1100r&z2018-04-01 02:00:00+1000z2018-04-01 04:00:00+1000)rr rWrXr©r+ÚresultrwrrrÚ#test_date_range_convenience_periodsLs&þ ü
 
 
ýÿz2TestDateRanges.test_date_range_convenience_periodszstart,end,result_tzÚ20180101Z20180103r%iârr8r&NcCs0t||d|d}tddddd}t ||¡dS)Nr8©r<r'r¬r:r%©r<r=r'©rrWrX)r+rNrOZ    result_tzrªrwrrrÚtest_date_range_linspacing_tzfsz,TestDateRanges.test_date_range_linspacing_tzcCsºtddddddddgd    d
}tddd    d
}t ||¡tdd gd    d
}tdd d    d
}t ||¡tddddddddd d d dddddddddddddgd    d
}tddd    d
}t ||¡dS)Nz2014-07-04 09:00z2014-07-04 10:00z2014-07-04 11:00z2014-07-04 12:00z2014-07-04 13:00z2014-07-04 14:00z2014-07-04 15:00z2014-07-04 16:00ZBHrUz2014-07-07 09:00z2014-07-07 10:00z2014-07-07 11:00z2014-07-07 12:00z2014-07-07 13:00z2014-07-07 14:00z2014-07-07 15:00z2014-07-07 16:00z2014-07-08 09:00z2014-07-08 10:00z2014-07-08 11:00z2014-07-08 12:00z2014-07-08 13:00z2014-07-08 14:00z2014-07-08 15:00z2014-07-08 16:00)r rrWrX)r+rYr,rrrÚtest_date_range_businesshour~s^ø
õ   èåz+TestDateRanges.test_date_range_businesshourcCs:d}d}t||dd}t||tddd}t ||¡dS)Nz
2020-01-01z
2020-01-11Ú3DrUr8)Údays)rrrWrX)r+rNrOÚrng1Úrng2rrrÚtest_date_range_timedelta³s
z(TestDateRanges.test_date_range_timedeltac    Csd}tjt|dtddW5QRXtjt|dtddW5QRXtjt|dtddW5QRXtjt|dtddd    W5QRXtjt|dtddd
W5QRXtjt|dtddd W5QRXtjt|d tƒW5QRXdS) Nr¤r]r)rN)rOrŽr¨rK)rNr=)rOr=r;©rarbrfrrhrrrÚtest_range_misspecifiedºs ÿz&TestDateRanges.test_range_misspecifiedcCs&ttdƒddd}t|ƒdks"t‚dS)Nz1960-04-01 00:00:00éLzQS-JANr;)rrrmr))r+rªrrrÚtest_compat_replaceÖsz"TestDateRanges.test_compat_replacec    CsLtjdd}d}tjt|d$ttdddƒtdddƒ|dW5QRXdS)    NrT)Úminutez4Offset <DateOffset: minute=5> did not increment dater]r¡é é rU)rr    rarbrfrr)r+r•rirrrÚtest_catch_infinite_loopÜs z'TestDateRanges.test_catch_infinite_loopr<)rr_cCs"td|dd}t|ƒ|kst‚dS)NZ20110101zWOM-1MONrlr{)r+r<ÚresrrrÚ test_wom_lenãszTestDateRanges.test_wom_lencCsbtdƒjddd}tdƒjddd}tddd||g}t|dd    }td
d ddd }t ||¡dS) Nz2010-11-07 01:00:00z
US/PacificT)Z    ambiguousFz2010-11-07 00:00:00r&rKrUz    2010-11-7r8)rNr<r=r')rZ tz_localizer rrWrX)r+Zpre_dstZpst_dstZ expect_datarwrªrrrÚtest_construct_over_dstésÿÿ
ý z&TestDateRanges.test_construct_over_dstcCs<tdddd}ttdƒtdƒtdƒgdd}t ||¡dS)Nz2013-01-01 00:00:00+09:00z2013/01/01 02:00:00+09:00rKrUz2013-01-01 01:00:00+09:00z2013-01-01 02:00:00+09:00)rr rrWrXr©rrrÚ5test_construct_with_different_start_end_string_formatúsÿýúzDTestDateRanges.test_construct_with_different_start_end_string_formatc    Cs4d}tjt|dtddtdƒdW5QRXdS)Nz.Offset <0 \* MonthEnds> did not increment dater]rz1/1/2001rrU)rarbrfrr
rhrrrÚtest_error_with_zero_monthends    sz-TestDateRanges.test_error_with_zero_monthendscsTtdd‰tddˆd}tdddƒ‰t‡‡fdd    „td
ƒDƒˆd}t ||¡dS) Nr8)Úmonthsú2011-1-1z    2012-1-31rUr¡rcsg|]}ˆ|ˆ‘qSrrr’©r•rNrrrSsz1TestDateRanges.test_range_bug.<locals>.<listcomp>rT)r    rrr rVrWrXr©rrÆrÚtest_range_bugs
 
  zTestDateRanges.test_range_bugcCsêtdƒ}| tdddƒ¡}| tdddƒ¡}t|dd}|jj|jksJt‚|d|ksZt‚|d|ksjt‚t|dd}|jj|jksˆt‚|d|ks˜t‚|d|ks¨t‚t||d    }|jj|jksÆt‚|d|ksÖt‚|d|ksæt‚dS)
Nr%r¡rr8©rNr<rr_©rOr<©rNrO)rZlocalizerrr'Úzoner)©r+r'rNrOrŸrrrÚtest_range_tz_pytzs   z!TestDateRanges.test_range_tz_pytzz
start, endr7ér½iÝr¼cCsÞt||dd}|d|kst‚|d|ks.t‚t |jdk¡sBt‚t||ddd}|d|ksbt‚|d|ksrt‚t |jdk¡s†t‚t|jdd|jddddd}|d|ks¶t‚|d|ksÆt‚t |jdk¡sÚt‚dS)Nr:rUrrr%©r=r'©Útzinfo)rr)ÚnpÚallÚhourÚreplace)r+rNrOrŸrrrÚtest_range_tz_dst_straddle_pytz,s"
 
üz.TestDateRanges.test_range_tz_dst_straddle_pytzcsþddlm‰‡fdd„}tddd|dƒd}tddd    |dƒd}t|d    d
}|j|dƒks^t‚|d|ksnt‚|d |ks~t‚t|d    d }|j|dƒksœt‚|d|ks¬t‚|d |ks¼t‚t||d }|j|dƒksÚt‚|d|ksêt‚|d |ksút‚dS)Nr©Ú maybe_get_tzcs ˆd|ƒS)Nz    dateutil/r)Úxr×rrÚ<lambda>Tóz7TestDateRanges.test_range_tz_dateutil.<locals>.<lambda>r¡rr%rÐr8rÈr_rÉrÊ)r5rØrrr'r)rÌrr×rÚtest_range_tz_dateutilNs      z%TestDateRanges.test_range_tz_dateutilZ1Dr²Z2MZ7WZ3HcCsVtdddƒ}tdddƒ}t||||d}t||d|d}t||||ƒ}t ||¡dS)Nr¡rr7©Ú    inclusiver=r)rrr rWrX©r+r=Úinclusive_endpoints_fixtureÚbeginrOÚ result_rangerrrrrÚtest_range_closedhs   ÿÿz TestDateRanges.test_range_closedcCsVtddd}tddd}t||||d}t||d|d}t||||ƒ}t ||¡dS)Nú2011/1/1r%r&ú2014/1/1rÝr©rrr rWrXrßrrrÚ)test_range_closed_with_tz_aware_start_endws   ÿüz8TestDateRanges.test_range_closed_with_tz_aware_start_endc
Csjtdƒ}tdƒ}tddd}tddd}t||||dd}t||d|dd}t||||ƒ}    t |    |¡dS)Nrärår%r&)rÞr=r'rræ)
r+r=ràrárOZbegintzZendtzrârrrrrÚ1test_range_with_tz_closed_with_tz_aware_start_endŒs2  ûÿüz@TestDateRanges.test_range_with_tz_closed_with_tz_aware_start_endc
CsØtddd|d}tddd|d}tddd|d}tddd|d}|}|}|}|dkrb|dd…}n6|d    krx|dd
…}n |d kr˜|dd…}|dd
…}|dd
…}    t ||¡t ||¡t ||¡t ||    ¡dS) Nz
2015-09-12z
2015-12-01zQS-MAR©r=rÞz
2015-09-01z
2015-09-11rrrrrr¯)
r+ràZright_boundaryZ left_boundaryZ both_boundaryZneither_boundaryZexpected_rightZ expected_leftZ expected_bothZexpected_neitherrrrÚtest_range_closed_boundary¨sNüüüü      z)TestDateRanges.test_range_closed_boundarycCsBtdddd}|dtdddƒks&t‚|d    tdd
dƒks>t‚dS) NZ2014Z2015ÚMrUrr7rérr½)rrr)ržrrrÚtest_years_onlyÖszTestDateRanges.test_years_onlycCs`tdddd}tdddd}tddgd    d
dd }td d gd    d
dd }t ||¡t ||¡dS)Nz2005-01-12 10:00z2005-01-12 16:00Z345minrUz2005-01-13 10:00z2005-01-13 16:00z2005-01-12 10:00:00z2005-01-12 15:45:00údatetime64[ns]Z345T©Údtyper=r'z2005-01-13 10:00:00z2005-01-13 15:45:00r‚)r+Zresult_1Zresult_2Z
expected_1Z
expected_2rrrÚtest_freq_divides_end_in_nanosÜs üü z-TestDateRanges.test_freq_divides_end_in_nanoscCsBtddtddd}t|ƒdks$t‚|dtddd    d
ƒks>t‚dS) Nz2010-09-01 05:00:00rrÎ)Úhoursr;rrr£rrT)rr    rmr)rr|rrrÚtest_cached_range_bugïsz$TestDateRanges.test_cached_range_bugcCs.tddd}t|ddd}t|ƒdks*t‚dS)Nú20130220 10:00r%r&r_r­)rrrmr))r+rNrªrrrÚtest_timezone_comparison_bugôs z+TestDateRanges.test_timezone_comparison_bugc    Cs<tddd}d}tjt|dt|dddW5QRXdS)    Nrôr%r&z0Inferred time zone not equal to passed time zoner]r_z Europe/Berlinr­)rrarbr)r)r+rNrirrrÚtest_timezone_comparison_assertús z.TestDateRanges.test_timezone_comparison_assertcCs>|}tddd|d}tddd|dddd…}t ||¡dS)Nz
2011-06-01z
2011-01-01z-1MS)rNrOr=r'Z1MS)rOrNr=r'rr¯)r+Ztz_aware_fixturer'rªrwrrrÚ1test_negative_non_tick_frequency_descending_datess ÿz@TestDateRanges.test_negative_non_tick_frequency_descending_datescCsbd}d}t||d|d}t||ddd}|dkr>|dd…}n|dkrR|dd…}t ||¡dS)    Nz
2021-09-02r:)rNrOr=rÞrrrr)rrrr¯)r+ràrNrOrªrrwrrrÚ test_range_where_start_equal_end    sÿ z/TestDateRanges.test_range_where_start_equal_end)4rArBrCraÚmarkÚ parametrizer[rdrjrorrrvZslowryrzr}r„rŠr‹rŒrrœr r§r«rrr°r±r¶r¸rºr¾rÀrÁrÂrÃrÇrÍrÖrÜrãrçrèrêrírñrórõrör÷rørrrrrE{sš
"  
 
    
 
      
 
ý
 
ý÷þ
5 
    þþûþ
 
 
 
.    rEc@sneZdZdZdd„Zej dddg¡dd„ƒZej dddg¡d    d
„ƒZ    d d „Z
ej dddg¡d d„ƒZ dS)ÚTestDateRangeTZz#Tests for date_range with timezonescCstddddd}|jdS)Nz
2012-01-01z
2012-01-10r:ZHongkongrÏ)rrÔržrrrÚtest_hongkong_tz_convertsz(TestDateRangeTZ.test_hongkong_tz_convertÚtzstrr%r0cCsZtddddd}|jdk ¡s"t‚tdd|d    }|j}tjdgdd
d }t ||¡dS) Nz03/06/2012 00:00éÈzW-FRIr%r®rz
2012-11-02rŽr­Úint32©rð)rrÔrÓr)rgÚIndexrWrX)r+rýrŸrªrwrrrÚ#test_date_range_span_dst_transition$s z3TestDateRangeTZ.test_date_range_span_dst_transitioncCs6t |¡}tdd|d}tdd|d}t ||¡dS)NrrŽr­)rrØrrWrX)r+rýr'rªrwrrrÚ%test_date_range_timezone_str_argument2s
z5TestDateRangeTZ.test_date_range_timezone_str_argumentc    Csvddlm}|}tdddddd|d}tdddddd|d}t||d    }||jksVt‚t ||g¡}||jksrt‚dS)
Nr)Úfixed_off_no_nameiÜr8r¼rTrÐrÎrÊ)Z-pandas.tests.indexes.datetimes.test_timezonesrrrr'r)rgr)r+rÚoffrNrOr,rYrrrÚ'test_date_range_with_fixedoffset_noname:s  z7TestDateRangeTZ.test_date_range_with_fixedoffset_nonamecCs>td|d}|jdkst‚tddd|d}||dks:t‚dS)    Nz3/11/2012 05:00r&rTz3/11/2012 04:00rŽrKr®r)rrÔr)r)r+rýr-r,rrrÚtest_date_range_with_tzFs z'TestDateRangeTZ.test_date_range_with_tzN) rArBrCÚ__doc__rürarùrúrrrrrrrrrûs
 
 rûc @s²eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd \Z    Z
d\Z Z e j dee    e dee
ƒfee    ƒee
e dfee    e dee
e dfee    e dee
e dfg¡dd„ƒZdS)ÚTestGenRangeGenerationcCs>ttttdtƒddƒ}ttttddddƒ}||ks:t‚dS)NÚns©r<r•Úunitr–)ÚlistÚgenerate_rangeÚSTARTÚENDrr)©r+r´rµrrrÚ test_generateQsz$TestGenRangeGeneration.test_generatecCs>ttttdtƒddƒ}ttttddddƒ}||ks:t‚dS)Nr
r ÚC)r rrrrr)rrrrÚtest_generate_cdayVsz)TestGenRangeGeneration.test_generate_cdaycCsHtttdddƒddtƒddƒ}tdddƒtdddƒg}||ksDt‚dS)Nrr8ér_r
©rNrOr<r•r é©r rrrr)©r+r,rwrrrÚtest_1[s
ûÿ    zTestGenRangeGeneration.test_1cCsZtttdddƒtdddƒdtƒddƒ}tdddƒtdddƒtdddƒg}||ksVt‚dS)NéØrr8r
rr_rrrrrÚtest_2hs
 
ûÿ    "zTestGenRangeGeneration.test_2cCs<tttdddƒtdddƒdtƒddƒ}g}||ks8t‚dS)NrrrTrÎr
rrrrrrÚtest_3us
 
ûÿ    zTestGenRangeGeneration.test_3c
Cs|tdddd}tdddd}ddd    d
g}d d d dddddddg
}t|dddd}t|dddd}t ||¡t ||¡dS)Nz2015-04-15 00:00:03z2016-04-22 00:00:00ÚQrMz2015-06-22 00:00:04ÚWz2015-06-30 00:00:03z2015-09-30 00:00:03z2015-12-31 00:00:03z2016-03-31 00:00:03z2015-04-19 00:00:03z2015-04-26 00:00:03z2015-05-03 00:00:03z2015-05-10 00:00:03z2015-05-17 00:00:03z2015-05-24 00:00:03z2015-05-31 00:00:03z2015-06-07 00:00:03z2015-06-14 00:00:03z2015-06-21 00:00:03rîzQ-DECrïzW-SUNr‚)r+Zresult1Zresult2Zexpected1_listZexpected2_listZ    expected1rxrrrÚ test_precision_finer_than_offset‚sPÿÿüö ÿÿ z7TestGenRangeGeneration.test_precision_finer_than_offset)rr)r%z Europe/Londonz    start,endr&c    CsVd}tjt|dt||ƒW5QRXtjt|dt||tƒdW5QRXdS)Nz>Start and end cannot both be tz-aware with different timezonesr]rU)rarbÚ    TypeErrorrrr¦rrrÚtest_mismatching_tz_raises_err¨s
z5TestGenRangeGeneration.test_mismatching_tz_raises_errN)rArBrCrrrrrr Zdt1Zdt2Ztz1Ztz2rarùrúrr"rrrrr    Ps"   #üþ    r    c@sZeZdZdd„Zdd„Zdd„Zdd„Zej     d    d
d d d g¡dd„ƒZ
dd„Z dd„Z dS)ÚTestBusinessDateRangec    Cs²ttttƒdttdtƒdttdtƒdd}tjt|dtddd    ƒW5QRXtjt|dtddd    ƒW5QRXd
}tjt|dtttd ddW5QRXdS) NrUér;r`zperiods must be a number, got Br]rÅú2012-1-1r–z>freq must be specified for bdate_range; use date_range insteadrŽ)rrrrrarbr!rrhrrrÚtest_constructor»sz&TestBusinessDateRange.test_constructorcCsZtdddƒ}t|dd}|dtƒ}t|ƒdks6t‚|d|ksFt‚|d|ksVt‚dS)    NrrTé r$rÉérr)rrrrmr)©r+rOrŸZ    firstDaterrrÚ    test_miscËs   zTestBusinessDateRange.test_miscc    Csžd}d}tjt|dt|ƒW5QRXtjt|dt|ddW5QRXtjt|dt|ddW5QRXtjt|dt||ƒW5QRXdS)Nz
2007/100/1z;Unknown datetime string format, unable to parse: 2007/100/1r]rŽrÈrÉ)rarbrfrr)r+Zbadly_formed_daterirrrÚtest_date_parse_failureÔsz-TestBusinessDateRange.test_date_parse_failurecCsBtddƒ}tddƒ}|jjtƒks&t‚| |¡}t|tƒs>t‚dS)Nú    12/5/2011ú    12/2/2011)rÚ_datar=rr)ÚunionÚ
isinstancer ©r+r´rµrªrrrÚtest_daterange_bug_456äs
 
 
 
z,TestBusinessDateRange.test_daterange_bug_456rÞrrrrcCs>d}d}t||d|d}d}d}t||dd}t ||¡dS)    Nz
2018-07-21z
2018-07-29r–réz
2018-07-23z
2018-07-27r:rUr¯)r+rÞrNrOrªZ
bday_startZbday_endrwrrrÚtest_bdays_and_open_boundariesísz4TestBusinessDateRange.test_bdays_and_open_boundariescCs>tj d¡ ¡}t|dddd}t|gdd}t ||¡dS)Nr:rr–r`rU)rÚmaxÚfloorÚ to_pydatetimerr rWrX)r+rNr,rwrrrÚtest_bday_near_overflowúsz-TestBusinessDateRange.test_bday_near_overflowc    Cs@d}tj d¡ ¡}tjt|dt|dddW5QRXdS)Nz"Out of bounds nanosecond timestampr:r]r_r–r;)rr4r5r6rarbr r)r+rirNrrrÚtest_bday_overflow_errorsz.TestBusinessDateRange.test_bday_overflow_errorN) rArBrCr&r*r+r2rarùrúr3r7r8rrrrr#ºs        
r#c    @s¶eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    e
j   ddd„e Dƒ¡dd„ƒZe
j   ddddg¡dd„ƒZe
j   ddddgfdddgfddddgfg¡d d!„ƒZd"S)#ÚTestCustomDateRangec    Cs„ttttƒdttdtƒdttdtƒdd}tjt|dtddd    ƒW5QRXtjt|dtddd    ƒW5QRXdS)
NrUr$r;r`zperiods must be a number, got Cr]rÅr%r)rrrrrarbr!rrhrrrr&
sz$TestCustomDateRange.test_constructorcCs\tdddƒ}t|ddd}|dtƒ}t|ƒdks8t‚|d|ksHt‚|d    |ksXt‚dS)
NrrTr'r$rr`r(rr)rrrrmr)r)rrrr*s  zTestCustomDateRange.test_misccCsJtdddd}tdddd}|jjtƒks.t‚| |¡}t|tƒsFt‚dS)Nr,rrUr-)rr.r=rr)r/r0r r1rrrr2s
 
z*TestCustomDateRange.test_daterange_bug_456cCs@tdddd}tdddgdd}t ||¡|j|jks<t‚dS)Nú
2013-05-01r8rr;ú
2013-05-02ú
2013-05-03rU)rr rWrXr=r)r©rrrÚtest_cdaterange(s z#TestCustomDateRange.test_cdaterangec    Csptddddd}tdddg|jd}t ||¡|j|jks@t‚d    }tjt|d
tdddd W5QRXdS) Nr:r8rúSun Mon Tue Wed Thu)r<r=Úweekmaskr;ú
2013-05-05rUú[a custom frequency string is required when holidays or weekmask are passed, got frequency Br])r<r?©    rr r=rWrXr)rarbrf©r+rªrwrirrrÚtest_cdaterange_weekmask.s ÿÿ ÿz,TestCustomDateRange.test_cdaterange_weekmaskc    Csttddddgd}tdddg|jd}t ||¡|j|jksBt‚d    }tjt|d
tdddgd W5QRXdS) Nr:r8r)r<r=Úholidaysr;r<ú
2013-05-06rUrAr])r<rErBrCrrrÚtest_cdaterange_holidays@sÿ ÿz,TestCustomDateRange.test_cdaterange_holidaysc    Csxtdddddgd}tdddg|jd    }t ||¡|j|jksDt‚d
}tjt|d tddddgd W5QRXdS) Nr:r8rr>)r<r=r?rEr;r@rFrUrAr])r<r?rErBrCrrrÚ%test_cdaterange_weekmask_and_holidaysPs,ûÿ ÿüz9TestCustomDateRange.test_cdaterange_weekmask_and_holidaysr=cCsg|]}| d¡r|‘qS)r)Ú
startswith)rPr=rrrrSls
zTestCustomDateRange.<listcomp>c    CsRttt|ddgd|d}d|›}tjt|dttt|dW5QRXdS)Nz Mon Wed Friz
2009-03-14)r=r?rEZFOOz!invalid custom frequency string: r]rU)rrrrarbrf)r+r=Zbad_freqrirrrÚtest_all_custom_freqksÿ
z(TestCustomDateRange.test_all_custom_freqÚ    start_end)z2018-01-01T00:00:01.000Zz2018-01-03T00:00:01.000Z)z2018-01-01T00:00:00.010Zz2018-01-03T00:00:00.010Z)z2001-01-01T00:00:00.010Zz2001-01-03T00:00:00.010ZcCs2|\}}t||ddd}t|gƒ}t ||¡dS)Nr_r)rNrOr<rÞr‚)r+rKrNrOrªrwrrrÚ&test_range_with_millisecond_resolutionys
 
z:TestCustomDateRange.test_range_with_millisecond_resolutionzstart,period,expectedz2022-07-23 00:00:00+02:00rz2022-07-25 00:00:00+02:00z2022-07-22 00:00:00+02:00r_cCs&t||dd}t|ƒ}t ||¡dS)Nrrlr‚)r+rNZperiodrwrªrrrÚ.test_range_with_timezone_and_custombusinessdayˆszBTestCustomDateRange.test_range_with_timezone_and_custombusinessdayN)rArBrCr&r*r2r=rDrGrHrarùrúr rJrLrMrrrrr9    s>          ÿ
ýþ
 
 
ýýþ r9cCsBtjddgd}tdd|d}tddd    d
g|d }t ||¡dS) Nz15:00z
2020-11-26)rNrEz2020-11-25 15:00r9rlz2020-11-25 15:00:00z2020-11-25 16:00:00z2020-11-27 15:00:00z2020-11-27 16:00:00rU)rZCustomBusinessHourrr rWrX)r=rªrwrrrÚ$test_date_range_with_custom_holidays›süù    rNc@s4eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd S) ÚTestDateRangeNonNanoc    Cs2d}tjt|dtdddddW5QRXdS)Nz+'unit' must be one of 's', 'ms', 'us', 'ns'r]rez
2016-03-04r8Úh©r<r r·rhrrrÚtest_date_range_reso_validation¬sz4TestDateRangeNonNano.test_date_range_reso_validationc    Cs2d}tjt|dtdddddW5QRXdS)Nz)Use a lower freq or a higher unit insteadr]rez
2016-01-02r
Úms©r=r r·rhrrrÚ%test_date_range_freq_higher_than_reso±sz:TestDateRangeNonNano.test_date_range_freq_higher_than_resocCsÄtddddd}tjddtjd}t| d¡dd    }t ||¡tddd
d
d}tjd d tjd}t| d ¡d
d    }t ||¡tddddd}tjddtjd}t| d¡dd    }t ||¡dS)Nrez2016-01-01 00:00:01rSrTl\÷tGlé_÷tGrzM8[ms]rUÚusl`¦gé )lA"Ågé )úM8[us]z2016-01-01 00:00:00.001r
l^cQ)!lAB|cQ)!zM8[ns])rrÒÚarangeÚint64r ÚviewrWrX)r+rnr,rwrrrÚ!test_date_range_freq_matches_reso¸s   ÿz6TestDateRangeNonNano.test_date_range_freq_matches_resoc    CsŒtdƒ}tdƒ}tjtddt||dddW5QRXt||dd    d}tj| d    ¡j| d    ¡jgtj    d
}t
|  d ¡ƒ}t   ||¡dS) Nz2022-10-19 11:50:44.719781z2022-10-19 11:50:47.066458zCannot losslessly convert unitsr]r8r¥rQr_rVrrW)rrarbrfrrÒÚarrayZas_unitÚ_valuerYr rZrWrX)r+rNrOrnr,rwrrrÚ)test_date_range_freq_lower_than_endpointsËsÿz>TestDateRangeNonNano.test_date_range_freq_lower_than_endpointscCs„t d¡}t d¡}t||ddd}|jdks2t‚|jdks@t‚t | d¡ d¡|d d¡ d¡d    ¡ d¡}t     
|  ¡|¡dS)
Nz
1066-10-14z
2305-07-13r:r¥rTzM8[s]Úi8ri€Q) rÒZ
datetime64rr=r)rðrXZastyperZrWZassert_numpy_array_equalZto_numpy)r+rNrOrnrZrrrÚtest_date_range_non_nanoÜs
 
ýüz-TestDateRangeNonNano.test_date_range_non_nanoN)rArBrCrRrUr[r^r`rrrrrO«s
rO)0rrrrÚnumpyrÒrar2rZpandas._libs.tslibsrZpandas._libs.tslibs.offsetsrrr    r
r Z pandas.errorsr Zpandas.util._test_decoratorsÚutilZ_test_decoratorsrDZpandasrgr rrrrrZpandas._testingZ_testingrWZpandas.core.arrays.datetimesrrrrr r!rErûr    r#r9rNrOrrrrÚ<module>s:      5$6jO