o 6a @sdZddlZddlZddlZddlmmZddl m Z GdddZ Gddde Z Gdd d e Z Gd d d e ZGd d d e ZGddde ZGddde ZGddde ZGdddZdS)z8 Tests for numpy/core/src/multiarray/conversion_utils.c N) assert_warnsc@sDeZdZdZdZdZdZddZddZddZ d d Z d d Z d S)StringConverterTestCaseTFcCsRdtt|}tjt|d}||WddS1s"wYdS)Nz \(got {}\))match)formatreescapereprpytestraises ValueErrorconv)selfvalpatternexcrH/usr/lib/python3/dist-packages/numpy/core/tests/test_conversion_utils.py_check_value_errors "z*StringConverterTestCase._check_value_errorcCs\|jr#tt}|||ksJWddS1swYdS|||ks,JdSN)warnrDeprecationWarningr )r rexpectedrrrr_check_conv_assert_warns  "z/StringConverterTestCase._check_conv_assert_warncCs6|||ks J|jr||d|ksJntt||dWdn1s1wYt|dkrZ|jrP||dd||dn | |dd||j r}|| krk| | ||| kr{| | |dSdS|| kr|| || kr|| dSdS)zTakes valid non-deprecated inputs for converters, runs converters on inputs, checks correctness of outputs, warnings and errorsasciiN) r allow_bytesencoder r TypeErrorlen exact_matchrrcase_insensitivelowerupper)r rrrrr_checks,      zStringConverterTestCase._checkcCsntt |iWdn1swYtt|gWddS1s0wYdSrr r rr r rrrtest_wrong_type=s    "z'StringConverterTestCase.test_wrong_typecCsF|d|d|jr|d|d|jr!|ddSdS)Nuπz there's no way this is supported)rrr r&rrrtest_wrong_valueDs    z(StringConverterTestCase.test_wrong_valueN) __name__ __module__ __qualname__rr!r rrrr$r'r+rrrrr s rc@"eZdZdZejZdZddZdS)TestByteorderConverterz% Tests of PyArray_ByteorderConverter FcCsrdD]}||dqdD]}||dq dD]}||dqdD]}||dq#d D]}||d q.dS) N)big>NPY_BIG)little< NPY_LITTLE)native= NPY_NATIVE)ignore| NPY_IGNORE)swapNPY_SWAPr$)r srrr test_validVsz!TestByteorderConverter.test_validN) r,r-r.__doc__mtrun_byteorder_converterr rrArrrrr0Q  r0c@r/)TestSortkindConverterz$ Tests of PyArray_SortkindConverter FcCs4|dd|dd|dd|dddS)N quicksort NPY_QUICKSORTheapsort NPY_HEAPSORT mergesortNPY_STABLESORTstabler?r&rrrrAh   z TestSortkindConverter.test_validN) r,r-r.rBrCrun_sortkind_converterr rrArrrrrFcrErFc@&eZdZdZejZdZdZddZ dS)TestSelectkindConverterz& Tests of PyArray_SelectkindConverter FTcCs|dddS)N introselectNPY_INTROSELECTr?r&rrrrAusz"TestSelectkindConverter.test_validN) r,r-r.rBrCrun_selectkind_converterr r!r rArrrrrQo  rQc@eZdZdZejZddZdS)TestSearchsideConverterz& Tests of PyArray_SearchsideConverter cCs|dd|dddS)NleftNPY_SEARCHLEFTrightNPY_SEARCHRIGHTr?r&rrrrA|s z"TestSearchsideConverter.test_validN)r,r-r.rBrCrun_searchside_converterr rArrrrrWy rWc@s*eZdZdZejZdZddZddZ dS)TestOrderConverterz! Tests of PyArray_OrderConverter FcCs4|dd|dd|dd|dddS) Nc NPY_CORDERfNPY_FORTRANORDERa NPY_ANYORDERk NPY_KEEPORDERr?r&rrrrArNzTestOrderConverter.test_validc Csvtt |dWdn1swYdD]}tt ||Wdn1s3wYqdS)NZ)FTr)r r r r r)r orderrrrtest_flatten_invalid_orders    z-TestOrderConverter.test_flatten_invalid_orderN) r,r-r.rBrCrun_order_converterr rrArjrrrrr^s  r^c@rV)TestClipmodeConverterz$ Tests of PyArray_ClipmodeConverter cCsd|dd|dd|dd|tjdksJ|tjdks&J|tjdks0JdS)NclipNPY_CLIPwrapNPY_WRAPraise NPY_RAISE)r$r npCLIPWRAPRAISEr&rrrrAs   z TestClipmodeConverter.test_validN)r,r-r.rBrCrun_clipmode_converterr rArrrrrlr]rlc@rP)TestCastingConverterz# Tests of PyArray_CastingConverter FTcCs@|dd|dd|dd|dd|d d dS) NnoNPY_NO_CASTINGequivNPY_EQUIV_CASTINGsafeNPY_SAFE_CASTING same_kindNPY_SAME_KIND_CASTINGunsafeNPY_UNSAFE_CASTINGr?r&rrrrAs    zTestCastingConverter.test_validN) r,r-r.rBrCrun_casting_converterr r!r rArrrrrxrUrxc@s>eZdZdZejZddZddZddZ dd Z d d Z d S) TestIntpConverterz Tests of PyArray_IntpConverter cCsP|ddks J|ddksJ|ddgdksJ|ddks&JdS)Nr)r)rrr)r r&rrr test_basicszTestIntpConverter.test_basiccCsBtt|ddksJWddS1swYdS)Nr)r warnsrr r&rrr test_nones "zTestIntpConverter.test_nonecCsrtt |dWdn1swYtt|ddgWddS1s2wYdS)Ng?rr%r&rrr test_floats   "zTestIntpConverter.test_floatcCs:tt|dWddS1swYdS)Nl)r r r r r&rrrtest_too_larges  "z TestIntpConverter.test_too_largecCsX|dgddks Jtt|dgdWddS1s%wYdS)Nr ) rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!)r r r r r&rrrtest_too_many_dimss "z$TestIntpConverter.test_too_many_dimsN) r,r-r.rBrCrun_intp_converterr rrrrrrrrrrs r)rBrr numpyrsnumpy.core._multiarray_testscore_multiarray_testsrC numpy.testingrrr0rFrQrWr^rlrxrrrrrs D