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
U
O±doã@sÖdZddlZddlZddlZddlZddlmmZ    ddl
m Z m Z Gdd„dƒZ Gdd„de ƒZGdd    „d    e ƒZGd
d „d e ƒZGd d „d e ƒZGdd„de ƒZGdd„de ƒZGdd„de ƒZGdd„dƒZdS)z8
Tests for numpy/core/src/multiarray/conversion_utils.c
éN)Ú assert_warnsÚIS_PYPYc@sDeZdZdZdZdZdZdd„Zdd„Zdd„Z    d    d
„Z
d d „Z d S)ÚStringConverterTestCaseTFc    Cs<d t t|ƒ¡¡}tjt|d}| |¡W5QRXdS)Nz
\(got {}\))Úmatch)ÚformatÚreÚescapeÚreprÚpytestÚraisesÚ
ValueErrorÚconv)ÚselfÚvalÚpatternÚexc©rú]d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/core/tests/test_conversion_utils.pyÚ_check_value_errorsz*StringConverterTestCase._check_value_errorc    CsD|jr.ttƒ}| |¡|ks"t‚W5QRXn| |¡|ks@t‚dS©N)ÚwarnrÚDeprecationWarningr ÚAssertionError)rrÚexpectedrrrrÚ_check_conv_assert_warns
z/StringConverterTestCase._check_conv_assert_warnc    Cs| |¡|kst‚|jr2| | d¡¡|ksXt‚n&t t¡| | d¡¡W5QRXt|ƒdkr |jrŒ|     |dd…¡|     |d¡n| 
|dd…|¡|j rà||  ¡krÂ| 
|  ¡|¡||  ¡krÞ| 
|  ¡|¡n6||  ¡krú|     |  ¡¡||  ¡kr|     |  ¡¡dS)zTakes valid non-deprecated inputs for converters,
        runs converters on inputs, checks correctness of outputs,
        warnings and errorsÚasciiéNú)r rÚ allow_bytesÚencoder
r Ú    TypeErrorÚlenÚ exact_matchrrÚcase_insensitiveÚlowerÚupper)rrrrrrÚ_check s&     zStringConverterTestCase._checkc    CsDt t¡| i¡W5QRXt t¡| g¡W5QRXdSr©r
r r r ©rrrrÚtest_wrong_type>s  z'StringConverterTestCase.test_wrong_typecCsB| d¡| d¡|jr.| d¡| d¡|jr>| d¡dS)NÚuπóóÿz there's no way this is supported)rrr"r(rrrÚtest_wrong_valueEs
 
 
 
z(StringConverterTestCase.test_wrong_valueN) Ú__name__Ú
__module__Ú __qualname__rr#r"rrrr&r)r-rrrrrsrc@s"eZdZdZejZdZdd„ZdS)ÚTestByteorderConverterz% Tests of PyArray_ByteorderConverter FcCsrdD]}| |d¡qdD]}| |d¡qdD]}| |d¡q0dD]}| |d¡qFd    D]}| |d
¡q\dS) N)Úbigú>ZNPY_BIG)Úlittleú<Z
NPY_LITTLE)Znativeú=Z
NPY_NATIVE)Úignoreú|Z
NPY_IGNORE)ZswapZNPY_SWAP©r&)rÚsrrrÚ
test_validWsz!TestByteorderConverter.test_validN)    r.r/r0Ú__doc__ÚmtZrun_byteorder_converterr rr;rrrrr1Rsr1c@s"eZdZdZejZdZdd„ZdS)ÚTestSortkindConverterz$ Tests of PyArray_SortkindConverter FcCs4| dd¡| dd¡| dd¡| dd¡dS)NZ    quicksortZ NPY_QUICKSORTZheapsortZ NPY_HEAPSORTZ    mergesortZNPY_STABLESORTZstabler9r(rrrr;is   z TestSortkindConverter.test_validN)    r.r/r0r<r=Zrun_sortkind_converterr rr;rrrrr>dsr>c@s&eZdZdZejZdZdZdd„Z    dS)ÚTestSelectkindConverterz& Tests of PyArray_SelectkindConverter FTcCs| dd¡dS)NZ introselectZNPY_INTROSELECTr9r(rrrr;vsz"TestSelectkindConverter.test_validN)
r.r/r0r<r=Zrun_selectkind_converterr r#r"r;rrrrr?ps
r?c@seZdZdZejZdd„ZdS)ÚTestSearchsideConverterz& Tests of PyArray_SearchsideConverter cCs| dd¡| dd¡dS)NÚleftZNPY_SEARCHLEFTÚrightZNPY_SEARCHRIGHTr9r(rrrr;}s z"TestSearchsideConverter.test_validN)r.r/r0r<r=Zrun_searchside_converterr r;rrrrr@zsr@c@s*eZdZdZejZdZdd„Zdd„Z    dS)ÚTestOrderConverterz! Tests of PyArray_OrderConverter FcCs4| dd¡| dd¡| dd¡| dd¡dS)    NÚcZ
NPY_CORDERÚfZNPY_FORTRANORDERÚaZ NPY_ANYORDERÚkZ NPY_KEEPORDERr9r(rrrr;‡s   zTestOrderConverter.test_validc
CsNt t¡| d¡W5QRXdD]$}t t¡| |¡W5QRXq$dS)NÚZ)FTré)r
r r r r )rÚorderrrrÚtest_flatten_invalid_orders
  z-TestOrderConverter.test_flatten_invalid_orderN)
r.r/r0r<r=Zrun_order_converterr rr;rKrrrrrC‚s
rCc@seZdZdZejZdd„ZdS)ÚTestClipmodeConverterz$ Tests of PyArray_ClipmodeConverter cCsd| dd¡| dd¡| dd¡| tj¡dks8t‚| tj¡dksLt‚| tj¡dks`t‚dS)NZclipZNPY_CLIPÚwrapZNPY_WRAPÚraiseZ    NPY_RAISE)r&r ÚnpZCLIPrZWRAPZRAISEr(rrrr;™s    z TestClipmodeConverter.test_validN)r.r/r0r<r=Zrun_clipmode_converterr r;rrrrrL–srLc@s&eZdZdZejZdZdZdd„Z    dS)ÚTestCastingConverterz# Tests of PyArray_CastingConverter FTcCs@| dd¡| dd¡| dd¡| dd¡| d    d
¡dS) NÚnoZNPY_NO_CASTINGÚequivZNPY_EQUIV_CASTINGÚsafeZNPY_SAFE_CASTINGZ    same_kindZNPY_SAME_KIND_CASTINGÚunsafeZNPY_UNSAFE_CASTINGr9r(rrrr;ªs
    zTestCastingConverter.test_validN)
r.r/r0r<r=Zrun_casting_converterr r#r"r;rrrrrP¤s
rPc@sZeZdZdZejZdd„Zdd„Ze    j
j e o6e jjdkddd    d
„ƒZd d „Zd d„ZdS)ÚTestIntpConverterz  Tests of PyArray_IntpConverter cCsP| d¡dkst‚| d¡dks$t‚| ddg¡dks:t‚| d¡dksLt‚dS)Nr)r)rérVr)r rr(rrrÚ
test_basic¶szTestIntpConverter.test_basicc    Cs,t t¡| d¡dkst‚W5QRXdS)Nr)r
Zwarnsrr rr(rrrÚ    test_none¼s zTestIntpConverter.test_none)éérIzPyPy bug in error formatting)Úreasonc    CsHt t¡| d¡W5QRXt t¡| ddg¡W5QRXdS)Ngð?rr'r(rrrÚ
test_floatÁs  zTestIntpConverter.test_floatc    Cs$t t¡| d¡W5QRXdS)Nl)r
r r r r(rrrÚtest_too_largeÉs z TestIntpConverter.test_too_largec    CsB| dgd¡dkst‚t t¡| dgd¡W5QRXdS)Nré ) rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrré!)r rr
r r r(rrrÚtest_too_many_dimsÍs z$TestIntpConverter.test_too_many_dimsN)r.r/r0r<r=Zrun_intp_converterr rWrXr
ÚmarkZskipifrÚsysÚimplementationÚversionr\r]r`rrrrrU²sÿ
rU)r<rrbr
ÚnumpyrOZnumpy.core._multiarray_testsÚcoreZ_multiarray_testsr=Z numpy.testingrrrr1r>r?r@rCrLrPrUrrrrÚ<module>sD