B d}t}t||dddt||ddddd d d d gd S)zTest validate nb names)r4r5r6)nbfields)r4zg%i)rI defaultfmtr4r5r6Zg0Zg1N)r r )rrFrArrrtest_validate_nb_namesvs z(TestNameValidator.test_validate_nb_namescCs6d}t}t||dkt||dddddgdS)zTest validate no namesNr&)rIrCrDrE)r rr )rrFrArrrtest_validate_wo_names~sz(TestNameValidator.test_validate_wo_namesN)r.r/r0r>rBrGrLrMrrrrr2Rs  r2cCsHtjddkr,tt|ddddStt|dddSdS)Nrr&latin1z%Y-%m-%d)sys version_infortimeZstrptimedecode)srrr_bytes_to_datesrTc@s`eZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ dS)TestStringConverterzTest StringConvertercCs&ttd}t|jdt|jddS)z"Test creation of a StringConverteriayrHN)rintr _statusdefault)r converterrrr test_creations  z!TestStringConverter.test_creationcCst}t|jdt|ddt|jdddlmm}t||j j ||j j k}t|ddt|jd|t |ddt|jd |t|d t d t|jd |t|d d t|jt|jddS)zTests the upgrade method.r0rHNs 17179869184ls0.gs0jZ0jr&a)rr rWupgradeZnumpy.core.numericZcoreZnumericrVdtypeZintegeritemsizeint64r complexlen_mapper)rrYZnxZ status_offsetrrr test_upgrades   z TestStringConverter.test_upgradecCsxtdd}|dt|ddt|d|jt|d|jt|d|jy |dWntk rrYnXd S) z Tests the use of missing values.)smissingsmissed)missing_valuesr[rr smissingsmissedZmissN)rr^r rXr<)rrYrrr test_missings   z TestStringConverter.test_missingcCs|t}t|tdddt|tddd}|d}t|tddd|d}t|tddd|d}t|tddddS) zTests updatemapperirHs 2001-01-01is 2009-01-01ir N)rTrZupgrade_mapperrr )rZ dateparserZconvertrrrrtest_upgrademappersz&TestStringConverter.test_upgrademappercCs2tt}t|jddddtt|ddS)zAMake sure that string-to-object functions are properly recognizedryrXN)rrTr rdrhasattr)rZconvrrrtest_string_to_objectsz)TestStringConverter.test_string_to_objectcCsptdddd}|dt|jdt|jtttdddd}|dt|jdt|jttdS)z+Make sure we don't lose an explicit defaultNr i)rfrXs 3.14159265r)rr^r rXtypenpr_float)rrYrrrtest_keep_defaults     z%TestStringConverter.test_keep_defaultcCsttddd}t|jddS)z'Check that we don't lose a default of 0rsN/A)rXrfN)rrVr rX)rrYrrrtest_keep_default_zerosz*TestStringConverter.test_keep_default_zerocCs&ttddd}t|jtddgdS)z*Check that we're not losing missing valuesrsN/A)rXrfr N)rrVr rfset)rrYrrrtest_keep_missing_valuessz,TestStringConverter.test_keep_missing_valuescCs:ttjdd}d}t||dkd}t||dkdS)z/Check that int64 integer types can be specifiedr)rXs-9223372036854775807ls9223372036854775807lN)rrmrar)rrYvalrrrtest_int64_dtypes z$TestStringConverter.test_int64_dtypecCs&ttjdd}d}t||dkdS)z0Check that uint64 integer types can be specifiedr)rXs9223372043271415339l+&|N)rrmZuint64r)rrYrsrrrtest_uint64_dtypesz%TestStringConverter.test_uint64_dtypeN)r.r/r0r1rZrergrhrkrorprrrtrurrrrrUs rUc@s$eZdZddZddZddZdS)TestMiscFunctionscCsjttj}tt|dtddtfg}tt|dtdtfddtfdgfg}tt|ddS) zTest has_nested_dtypeF)r3z|S3r7r3ZBA)ZBBz|S1TN)rmr_rnr rrV)rndtyperrrtest_has_nested_dtypes  z'TestMiscFunctions.test_has_nested_dtypecCs2t}tt|ttd}tt|tddgtt|ddtddgd}tt|dd td d gd}tt|d d td d gd}tt|d d tdd gtt|dddtd dgdtfdtfg}tt|tdtfdtfgtt|dd tdtfdtfgtt|dd tdtfdtfgtt|dd tdtfdtfgtttf}tt|tdtfdtfdtfgtttf}tt|d d tdtfdtfdtfgtt}tt|d d tdddDtt}tt|dddgddtddd Dd!S)"zTest ndtype on dtypeszi4, f8)rCi4)rDf8z field_%03i)rK)Z field_000ry)Z field_001rzza, b)r=)r4ry)r5rzza, b, cz, br4zf%02i)r=rK)f00rzr3r7za,br5rCza,b,crDrEr6cSsg|] }|tfqSr)rn).0_rrr >sz5TestMiscFunctions.test_easy_dtype..)r4r5r6rcSsg|] }|tfqSr)rn)r|r}rrrr~Cs)r{Zf01Zf02N)rnr rrmr_rV)rrwrrrtest_easy_dtype sN              z!TestMiscFunctions.test_easy_dtypecCstddg}t|}t|ttgtdddgfdtfg}t|}t|tdtdtgtdtd ffdtd ffg}t|}t|ttgt|d }t|tgd tgd td d g}t|}t|ttgdS)zTesting flatten_dtype)r4rz)r5rzr4)Zaaz|S1)Zabz|S2r5z|S1z|S2r\r&T))r4r3rz))r5r7rzN)rmr_rr rnrV)rZdtZdt_flatrrrtest_flatten_dtypeEs z$TestMiscFunctions.test_flatten_dtypeN)r.r/r0rxrrrrrrrvs 9rv__main__)Z __future__rrrrOrQZdatetimerZnumpyrmZ numpy.testingrrrr r r Znumpy.lib._iotoolsr r rrrrrr2rTrUrvr.rrrrs   @6rY