1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
U
­ý°dã@sJddlZddlZddlmZmZmZmZmZddl    m
Z Gdd„dƒZ dS)éN)ÚNaTÚPeriodÚ PeriodIndexÚ
date_rangeÚ period_rangec@sDeZdZdd„Zej ddddddg¡d    d
„ƒZd d „Zd d„Z    dS)ÚTestPeriodRangec    Cs.d}tjt|dtdddƒW5QRXdS)NúOOf the three parameters: start, end, and periods, exactly two must be specified©Úmatchz2011-1-1z2012-1-1ÚB)ÚpytestÚraisesÚ
ValueErrorr©ÚselfÚmsg©rúdd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexes/period/test_period_range.pyÚtest_required_argumentssÿz'TestPeriodRange.test_required_argumentsÚfreqÚDÚWÚMÚQÚAcCsètdd|dd ¡}t|dƒt|dƒ}}t|||dd}t ||¡t|d|dd}t ||¡t|d|dd}t ||¡tg|dd    }t|d|dd}t ||¡t|d|dd}t ||¡t|||dd}t ||¡dS)
Nz
2017-01-01éÚfoo©ÚstartÚperiodsrÚnameréÿÿÿÿ©rÚendrr ©r#rrr ©rr )rÚ    to_periodÚstrrÚtmÚassert_index_equalr)rrÚexpectedrr#ÚresultrrrÚtest_construction_from_strings(ÿ
     z-TestPeriodRange.test_construction_from_stringcCsNtdddtddd}}tddddd     ¡}t||ddd    }t ||¡td
ddtd dd}}td d ddd     ¡}t||ddd    }t ||¡tdddtddd}}t||ddd    }||jk}t dddddg¡}t     ||¡t
gddd}t|dddd}t ||¡t|dddd}t ||¡t||ddd    }t ||¡dS)NÚ2017Q1r)rÚ2018Q1z
2017-03-31z
2018-03-31rrr"z2017-1z2019-12z
2017-01-31z
2019-12-31Trr%rrr$) rrr&rr(r)ÚvaluesÚnpÚarrayZassert_numpy_array_equalr)rrr#r*r+ÚidxrrrÚtest_construction_from_period4s<ÿ
 ÿ
 
   z-TestPeriodRange.test_construction_from_periodc    Cs8d}tjt|dtddW5QRXtjt|dtddW5QRXtjt|dtddW5QRXtjt|d tƒW5QRXtjt|dtddd    d
d W5QRXd }tjt|dttdd W5QRXtjt|dtdtd W5QRXd}tjt|dtdddW5QRXdS)Nrr    r-)r)r#r)rr.ér)rr#rrzstart and end must not be NaT)rr#z!periods must be a number, got foor)rr)r r rrrÚ    TypeErrorrrrrÚ test_errorsXs(ÿzTestPeriodRange.test_errorsN)
Ú__name__Ú
__module__Ú __qualname__rr ÚmarkZ parametrizer,r3r6rrrrrs
 
$r) Únumpyr0r ZpandasrrrrrZpandas._testingZ_testingr(rrrrrÚ<module>s