zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
U
P±d7ã@s˜ddlZddlmZddlZddlmZmZmZm    Z    ddl
m Z m Z m Z mZmZmZGdd„dƒZGdd„dƒZd    d
„ZGd d „d ƒZGd d„dƒZdS)éN)Údate)Úassert_Ú assert_equalÚassert_allcloseÚ assert_raises)Ú LineSplitterÚ NameValidatorÚStringConverterÚhas_nested_fieldsÚ
easy_dtypeÚ flatten_dtypec@s@eZdZdZdd„Zdd„Zdd„Zdd    „Zd
d „Zd d „Z    dS)ÚTestLineSplitterzTests the LineSplitter class.cCsFd}tƒ|ƒ}t|dddddgƒtdƒ|ƒ}t|dddddgƒdS)    zTest LineSplitter w/o delimiterú 1 2 3 4  5 # testÚ1Ú2Ú3Ú4Ú5ÚN©rr©ÚselfÚstrgÚtest©rúTd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/lib/tests/test__iotools.pyÚtest_no_delimiters
 
 z"TestLineSplitter.test_no_delimitercCsDd}tdƒ|ƒ}t|ddddddgƒtd    ƒ|ƒ}t|d
dgƒd S) zTest space delimiterrú rrrrrrz  z1 2 3 4NrrrrrÚtest_space_delimiters
  z%TestLineSplitter.test_space_delimitercCsHd}tdƒ|ƒ}t|dddddgƒd}tdƒ|ƒ}t|d    d
dgƒd S) zTest tab delimiterz 1     2     3     4     5  6ú    rrrrú5  6z 1  2     3  4     5  6z1  2ú3  4NrrrrrÚtest_tab_delimiter!s   z#TestLineSplitter.test_tab_delimitercCszd}tdƒ|ƒ}t|ddddddgƒd    }tdƒ|ƒ}t|ddddddgƒd
}td d d |ƒ}t|ddddddgƒdS)zTest LineSplitter on delimiterz
1,2,3,4,,5ú,rrrrrrz 1,2,3,4,,5 # tests 1,2,3,4,,5 % testó,ó%)Ú    delimiterÚcommentsNrrrrrÚtest_other_delimiter*s  z%TestLineSplitter.test_other_delimiterc    Csdd}tdƒ|ƒ}t|dddddddgƒd    }td
ƒ|ƒ}t|d gƒd    }td ƒ|ƒ}t|d gƒd S)z'Test LineSplitter w/ fixed-width fieldsz  1  2  3  4     5   # testérrrrrrú  1     3  4  5  6# testéz1     3  4  5  6éNrrrrrÚtest_constant_fixed_width9s    z*TestLineSplitter.test_constant_fixed_widthcCsFd}tdƒ|ƒ}t|ddddgƒd}tdƒ|ƒ}t|ddd    gƒdS)
Nr*)r)ér.r)rrz4  5Ú6)r.r.é    r!r rrrrrÚtest_variable_fixed_widthGs   z*TestLineSplitter.test_variable_fixed_widthN)
Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrr"r(r-r1rrrrr s    r c@s4eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd S) ÚTestNameValidatorcCs¢ddddg}tƒ |¡}t|ddddgƒtdd |¡}t|dddd    gƒtd
d |¡}t|dddd    gƒtd d |¡}t|dd ddgƒtttd ddS)zTest case sensitivityÚAÚaÚbÚcF)Zcase_sensitiveZA_1ÚBÚCÚupperÚlowerZa_1ZfoobarN)rÚvalidaterrÚ
ValueError)rÚnamesrrrrÚtest_case_sensitivityUs  z'TestNameValidator.test_case_sensitivitycCs<ddddg}tdddgd}| |¡}t|dddd    gƒd
S) zTest excludelistÚdatesÚdataz
Other DataÚmask)Z excludelistZdates_Zdata_Z
Other_DataZmask_N)rr?r)rrAÚ    validatorrrrrÚtest_excludelistds 
z"TestNameValidator.test_excludelistcCsjd}tƒ}t||ƒdddgƒd}t||ƒdddgƒd}t||ƒdddgƒd}t||ƒd    dd
gƒd S) zTest validate missing names©r8r9r:r8r9r:)rr9r:Úf0)r8r9r)rrIrÚf1Úf2N©rr©rÚnamelistrFrrrÚtest_missing_namesksz$TestNameValidator.test_missing_namescCs>d}tƒ}t||dddƒt||ddddd    d
d d gƒd S)zTest validate nb namesrHé©Únbfields)r8ézg%i)rRÚ
defaultfmtr8r9r:Zg0Zg1NrLrMrrrÚtest_validate_nb_namesws  ÿz(TestNameValidator.test_validate_nb_namescCs6d}tƒ}t||ƒdkƒt||dddddgƒdS)zTest validate no namesNr)rQrIrJrK)rrrrMrrrÚtest_validate_wo_namessz(TestNameValidator.test_validate_wo_namesN)r2r3r4rBrGrOrUrVrrrrr6Ss
 r6cCstt |d¡dd…ŽS)Nz%Y-%m-%dr))rÚtimeÚstrptime)ÚsrrrÚ_bytes_to_date‰srZc@s`eZdZdZdd„Zdd„Zdd„Zdd    „Zd
d „Zd d „Z    dd„Z
dd„Z dd„Z dd„Z dS)ÚTestStringConverterzTest StringConvertercCs&ttdƒ}t|jdƒt|jdƒdS)z"Test creation of a StringConverteriayþÿrPN)r    ÚintrÚ_statusÚdefault©rÚ    converterrrrÚ test_creations
 z!TestStringConverter.test_creationcCstƒ}t|jdƒt| d¡dƒt|jdƒddlmm}t| |j    ¡j
| |j ¡j
kƒ}t| d¡dƒt|jd|ƒt | d¡dƒt|jd    |ƒt| d
¡t d
ƒƒt|jd |ƒd D]8}| |¡}tt|ƒtkƒt|d ƒt|jd|ƒqÈdS)zTests the upgrade method.rÚ0rPNZ 17179869184lz0.géZ0jr))r8óar8é)r    rr]ÚupgradeZnumpy.core.numericÚcoreÚnumericr\ÚdtypeÚint_ÚitemsizeÚint64rÚcomplexrÚtypeÚstr)rr`ZnxZ status_offsetrYÚresrrrÚ test_upgrade–s"   
 
z TestStringConverter.test_upgradecCsxtdd}| d¡t|dƒdƒt|dƒ|jƒt|dƒ|jƒt|dƒ|jƒz |dƒWntk
rrYnXd    S)
z Tests the use of missing values.)ÚmissingÚmissed)Úmissing_valuesrbrrrrrsZmissN)r    rfrr^r@r_rrrÚ test_missing»s
 
 z TestStringConverter.test_missingcCs˜t}tjdd…}zxt |tdddƒ¡t|tdddƒƒ}|dƒ}t|tdddƒƒ|dƒ}t|tdddƒƒ|dƒ}t|tdddƒƒW5|t_XdS)    zTests updatemapperNiÐrPz
2001-01-01iÑz
2009-01-01iÙr)rZr    Ú_mapperZupgrade_mapperrr)rZ
dateparserZ_original_mapperÚconvertrrrrÚtest_upgrademapperÉsz&TestStringConverter.test_upgrademappercCs4tjdd…}ttƒ}t|j|ƒtt|dƒƒdS)zAMake sure that string-to-object functions are properly recognizedNr^)r    rvrZrrÚhasattr)rZ
old_mapperÚconvrrrÚtest_string_to_objectÙs z)TestStringConverter.test_string_to_objectcCsptdddd}| d¡t|jdƒt|jt t¡ƒtdddd}| d¡t|jdƒt|jt t¡ƒdS)z+Make sure we don't lose an explicit defaultNriüÿÿ)rtr^z
3.14159265r)r    rfrr^rnÚnpriÚfloatr_rrrÚtest_keep_defaultàsÿ
 ÿ
 z%TestStringConverter.test_keep_defaultcCsttddd}t|jdƒdS)z'Check that we don't lose a default of 0rúN/A©r^rtN)r    r\rr^r_rrrÚtest_keep_default_zeroîsÿz*TestStringConverter.test_keep_default_zerocCs"ttddd}t|jddhƒdS)z*Check that we're not losing missing valuesrrr€rN)r    r\rrtr_rrrÚtest_keep_missing_valuesôsÿÿz,TestStringConverter.test_keep_missing_valuescCs:ttjdd}d}t||ƒdkƒd}t||ƒdkƒdS)z/Check that int64 integer types can be specifiedr©r^z-9223372036854775807lûÿÿÿÿÿÿÿZ9223372036854775807lÿÿÿÿN)r    r|rlr©rr`ÚvalrrrÚtest_int64_dtypeûs
z$TestStringConverter.test_int64_dtypecCs&ttjdd}d}t||ƒdkƒdS)z0Check that uint64 integer types can be specifiedrrƒZ9223372043271415339l+&ì|N)r    r|Zuint64rr„rrrÚtest_uint64_dtypesz%TestStringConverter.test_uint64_dtypeN)r2r3r4r5rarqrurxr{r~rr‚r†r‡rrrrr[s%r[c@s$eZdZdd„Zdd„Zdd„ZdS)ÚTestMiscFunctionscCsht t¡}tt|ƒdƒt ddtfg¡}tt|ƒdƒt dtfddtfdgfg¡}tt|ƒdƒdS)    zTest has_nested_dtypeF)r7z|S3r;r7ZBA)ÚBBú|S1TN)r|rir}rr
r\©rZndtyperrrÚtest_has_nested_dtype s 
z'TestMiscFunctions.test_has_nested_dtypecCs2t}tt|ƒt t¡ƒd}tt|ƒt ddg¡ƒtt|ddt ddg¡ƒd}tt|dd    t d
d g¡ƒd}tt|d d    t d
d g¡ƒd}tt|d d    t dd g¡ƒtt|dddt d
dg¡ƒdtfdtfg}tt|ƒt dtfdtfg¡ƒtt|dd    t dtfdtfg¡ƒtt|dd    t dtfdtfg¡ƒtt|dd    t dtfdtfg¡ƒtttf}tt|ƒt dtfdtfdtfg¡ƒtttf}tt|d d    t dtfdtfdtfg¡ƒt t¡}tt|d d    t dd„dDƒ¡ƒt t¡}tt|dddgddt dd„d Dƒ¡ƒd!S)"zTest ndtype on dtypeszi4, f8)rIÚi4)rJÚf8z
field_%03i)rT)Z    field_000r)Z    field_001rŽza, b)rA)r8r©r9rŽza, b, cz, br8zf%02i)rArT)Úf00rŽr7r;za,br9rIza,b,crJrKr:cSsg|] }|tf‘qSr©r}©Ú.0Ú_rrrÚ
<listcomp>Gsz5TestMiscFunctions.test_easy_dtype.<locals>.<listcomp>rHrcSsg|] }|tf‘qSrr‘r’rrrr•Ls)rZf01Zf02N)r}rr r|rir\r‹rrrÚtest_easy_dtypesh ÿ  ÿ  ÿ  ÿ  ÿ ÿ  ÿ ÿ ÿ
ÿ
 ÿ
 ÿ
þz!TestMiscFunctions.test_easy_dtypecCsât ddg¡}t|ƒ}t|ttgƒt dddgfdtfg¡}t|ƒ}t|t d¡t d¡tgƒt dtd    ffdtd
ffg¡}t|ƒ}t|ttgƒt|d ƒ}t|tgd    tgd
ƒt d d g¡}t|ƒ}t|ttgƒdS)zTesting flatten_dtype)r8rŽrr8)ZaarŠ)Úabú|S2r9rŠr˜rcr)T))r8r7rŽ))r9r;rŽN)r|rir rr}r\)rÚdtZdt_flatrrrÚtest_flatten_dtypeNs
z$TestMiscFunctions.test_flatten_dtypeN)r2r3r4rŒr–ršrrrrrˆ
s    9rˆ)rWÚdatetimerÚnumpyr|Z numpy.testingrrrrZnumpy.lib._iotoolsrrr    r
r r r r6rZr[rˆrrrrÚ<module>s  E6}