K i5ddlZddlmZddlZddlmZmZmZm Z m Z m Z ddl m Z mZmZmZGddZGddZd ZGd d ZGd d Zy)N)date) LineSplitter NameValidatorStringConverter easy_dtype flatten_dtypehas_nested_fields)assert_assert_allclose assert_equal assert_raisesc4eZdZdZdZdZdZdZdZdZ y) TestLineSplitterzTests the LineSplitter class.cd}t|}t|gdtd|}t|gdy)zTest LineSplitter w/o delimiter 1 2 3 4 5 # test)12345Nrr selfstrgtests c/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/lib/tests/test__iotools.pytest_no_delimiterz"TestLineSplitter.test_no_delimiters<#|~d#T45|B%T45cd}td|}t|gdtd|}t|ddgy)zTest space delimiterr rrrrrrz z1 2 3 4rNrrs rtest_space_delimiterz%TestLineSplitter.test_space_delimiter sC# |C &T89!|D!$'TIs+,rcd}td|}t|gdd}td|}t|gdy)zTest tab delimiterz 1 2 3 4 5 6 )rrrr5 6z 1 2 3 4 5 6)z1 23 4r&Nrrs rtest_tab_delimiterz#TestLineSplitter.test_tab_delimiter(sD&!|D!$'T78$!|D!$'T34rcd}td|}t|gdd}td|}t|gdd}tdd|}t|gdy ) zTest LineSplitter on delimiterz 1,2,3,4,,5,r"z 1,2,3,4,,5 # tests 1,2,3,4,,5 % test,%) delimitercommentsNrrs rtest_other_delimiterz%TestLineSplitter.test_other_delimiter1si |C &T89# |C &T89%:|dT:4@T89rcd}td|}t|gdd}td|}t|dgd}td|}t|dgy) z'Test LineSplitter w/ fixed-width fieldsz 1 2 3 4 5 # test)rrrrrrr 1 3 4 5 6# testz1 3 4 5 6Nrrs rtest_constant_fixed_widthz*TestLineSplitter.test_constant_fixed_width@sj,|At$T<=)|B%T./0)|B%T./0rcd}td|}t|gdd}td|}t|gdy)Nr2)r1r7r1)rrz4 56)r7r7 )rr'r&rrs rtest_variable_fixed_widthz*TestLineSplitter.test_variable_fixed_widthNsD))|L)$/T23)&|I&t,T01rN) __name__ __module__ __qualname____doc__rr#r(r/r5r:rrrrs##6-5 : 12rrc*eZdZdZdZdZdZdZy)TestNameValidatorc|gd}tj|}t|gdtdj|}t|gdtdj|}t|gdtdj|}t|gdtttdy ) zTest case sensitivity)AabcF)case_sensitive)rCA_1BCupperlower)rDa_1rErFfoobarN)rvalidater r ValueError)rnamesrs rtest_case_sensitivityz'TestNameValidator.test_case_sensitivity\s$''.T/0E2;;EBT12G4==eDT12G4==eDT12 j-Ircfgd}tgd}|j|}t|gdy)zTest excludelist)datesdataz Other Datamask)rTrUrV) excludelist)dates_data_ Other_Datamask_N)rrOr )rrQ validatorrs rtest_excludelistz"TestNameValidator.test_excludelistks-7!.GH !!%(TEFrcd}t}t||gdd}t||gdd}t||gdd}t||gdy) zTest validate missing namesrDrErF)rrErF)f0rErF)rDrEr)rDrEr`)rr`r)f1r`f2Nrr rnamelistr\s rtest_missing_namesz$TestNameValidator.test_missing_namesrs\"!O Yx(/:!Yx(*:;!Yx(*:;!Yx(*<=rcrd}t}t||ddt||ddgdy ) zTest validate nb namesr_nbfields)rDzg%i)rj defaultfmt)rDrErFg0g1Nrcrds rtest_validate_nb_namesz(TestNameValidator.test_validate_nb_names~s5"!O Yx!4f=Yx!F0 2rcnd}t}t||dut||dgdy)zTest validate no namesNr1ri)r`rarb)rr r rds rtest_validate_wo_namesz(TestNameValidator.test_validate_wo_namess2!O  (#t+,Yx!46HIrN)r;r<r=rRr]rfrorqr?rrrArAZs JG >2JrrAc@ttj|dddS)Nz%Y-%m-%dr1)rtimestrptime)ss r_bytes_to_datervs q*-bq1 22rcLeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z y ) TestStringConverterzTest StringConverterc|ttd}t|jdt|jdy)z"Test creation of a StringConverteriayrhN)rintr _statusdefaultr converters r test_creationz!TestStringConverter.test_creations.#C0 Y&&*Y&&/rcXt}t|jdt|jddt|jdddlmcm}t|j|jj|j|jjk}t|jddt|jd|zt|jddt|jd |zt|jd td t|jd |zd D]R}|j|}tt|t ut|d t|jd|zTy)zTests the upgrade method.r0rhN 17179869184lz0.g0jr1)rDarD)rr r{upgradenumpy._core.numeric_corenumericrzdtypeint_itemsizeint64r complexr typestr)rr~nx status_offsetruress r test_upgradez TestStringConverter.test_upgradesY$% Y&&* Y&&s+Q/Y&&* )(BHHRWW-66"((9K9T9TTU  Y&&}5{CY&&M(9:  ))$/5Y&&M(9: Y&&t,gdm<Y&&M(9:  ?A##A&C DI$ % c " **A ,= >  ?rc:td}|jdt|ddt|d|jt|d|jt|d|j |dy #t$rYy wxYw) z Tests the use of missing values.)missingmissed)missing_valuesrrrrrmissN)rrr r|rPr}s r test_missingz TestStringConverter.test_missings#4>? #Ys^Q'Yr]I$5$56Yy)9+<+<=Yx()*;*;<  f    sB BBct}tjdd} tj|t dddt|t ddd}|d}t |t ddd|d}t |t ddd|d}t |t ddd|t_y#|t_wxYw) zTests updatemapperNirhz 2001-01-01iz 2009-01-01ir)rvr_mapperupgrade_mapperrr )r dateparser_original_mapperconvertrs rtest_upgrademapperz&TestStringConverter.test_upgrademappers# *2215 7  * *:tD!Q7G H%j$tQ2BCG<(D tD!Q/ 0<(D tD!Q/ 02;D tD!Q/ 0&6O #&6O #s BB<< C ctjdd}tt}t|j|t t |dy)zAMake sure that string-to-object functions are properly recognizedNr|)rrrvr r hasattr)r old_mapperconvs rtest_string_to_objectz)TestStringConverter.test_string_to_objects9$,,Q/ ~.T\\:.i()rctddd}|jdt|jdt|jt j ttddd}|jdt|jdt|jt j ty)z+Make sure we don't lose an explicit defaultNri)rr|z 3.14159265r)rrr r|rnprfloatr}s rtest_keep_defaultz%TestStringConverter.test_keep_defaults#D,02 ,'Y&&-Y^^RXXe_5# Q0 ,'Y&&*Y^^RXXe_5rcTttdd}t|jdy)z'Check that we don't lose a default of 0rN/Ar|rN)rrzr r|r}s rtest_keep_default_zeroz*TestStringConverter.test_keep_default_zeros##C38: Y&&*rcXttdd}t|jddhy)z*Check that we're not losing missing valuesrrrrN)rrzr rr}s rtest_keep_missing_valuesz,TestStringConverter.test_keep_missing_valuess*#C38:   $ $r5k 3rcttjd}d}t||dk(d}t||dk(y)z/Check that int64 integer types can be specifiedrr|z-9223372036854775807l9223372036854775807lN)rrrr rr~vals rtest_int64_dtypez$TestStringConverter.test_int64_dtypes@#BHHa8 $ #"667# #"556rcfttjd}d}t||dk(y)z0Check that uint64 integer types can be specifiedrr9223372043271415339l+&|N)rruint64r rs rtest_uint64_dtypez%TestStringConverter.test_uint64_dtype s)#BIIq9 # #"556rN)r;r<r=r>rrrrrrrrrrr?rrrxrxs80 #?J 7 * 6+ 377rrxceZdZdZdZdZy)TestMiscFunctionsc<tjt}tt |dtjddtfg}tt |dtjdt fddtfdgfg}tt |dy) zTest has_nested_dtypeF)rCz|S3rIrCBA)BB|S1TN)rrrr r rz)rndtypes rtest_has_nested_dtypez'TestMiscFunctions.test_has_nested_dtypes{%&v.6<#u67&v.6C:tUm]-K'LMN&v.5rc t}tt|tjtd}tt|tjddgtt|dtjddgd}tt|d tjd d gd}tt|d tjd d gd}tt|d tjdd gtt|ddtjd dgdt fdtfg}tt|tjdt fdtfgtt|d tjdt fdtfgtt|d tjdt fdtfgtt|d tjdt fdtfgt ttf}tt|tjdt fdtfdtfgt ttf}tt|d tjdt fdtfdtfgtjt}tt|d tjdDcgc] }|tf c}tjt}tt|gddtjdDcgc] }|tf c}ycc}wcc}w)zTest ndtype on dtypeszi4, f8)r`i4)raf8z field_%03i)rl) field_000r) field_001rza, b)rQ)rDrrErza, b, cz, brDzf%02i)rQrl)f00rrCrIza,brEr`za,b,crarbrFr_)rrr)rf01f02N)rr rrrrz)rr_s rtest_easy_dtypez!TestMiscFunctions.test_easy_dtypesZ'%9Z'XX|\:; = Z<@XX24GHI KZf5XX{K89 ;Zi8XX{K89 ;Ze4XX|[9: < ZcgFXX{M:; =*sEl+Z'C:U|2L)MNZe4XXSzC<89 ; Zc2XXSzD%=9: < Zg6XXSzC<89 ;ue$Z'XXc{T5MD%=IJ Lue$Zi8XXSzC<#uFG I%Zi8XX?Ca5zCD F% v\g F HH*?@Qq%j@ A CD As N%Nctjddg}t|}t|ttgtjdddgfdt fg}t|}t|tjdtjdt gtjdtd ffdt d ffg}t|}t|tt gt|d }t|tgd zt gd zztjd d g}t|}t|ttgy)zTesting flatten_dtype)rDrrrD)aar)ab|S2rErrrr1T))rDrCr))rErIrN)rrrr rrz)rdtdt_flats rtest_flatten_dtypez$TestMiscFunctions.test_flatten_dtypeUs XX{K0 1#Wuen- XXm]; ?#Wuen-rN)r;r<r=rrrr?rrrrs67Cr.rr)rsdatetimernumpyrnumpy.lib._iotoolsrrrrrr numpy.testingr r r r rrArvrxrr?rrrsZ @2@2J1J1Jl3z7z7zW.W.r