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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
U
O±dÆXã@sNddlZddlZddlZddlZddlmZddlmZddlZ    ddl
m Z m Z m Z mZddlmZmZmZmZddlmZddlZejje ddZd    d
„Zed d „ƒd d„ƒZedd „ƒdd„ƒZGdd„dƒZGdd„dƒZeGdd„dƒƒZeGdd„dƒƒZ dd„Z!eGdd„dƒƒZ"Gdd„dƒZ#Gd d!„d!ƒZ$Gd"d#„d#ƒZ%dS)$éN©ÚStringIO)Úmock)Úassert_Ú assert_equalÚ assert_raisesÚassert_raises_regex)Ú_get_implementing_argsÚarray_function_dispatchÚverify_matching_signaturesÚARRAY_FUNCTION_ENABLED)Úpicklez(__array_function__ dispatch not enabled.)ÚreasoncOstS©N©ÚNotImplemented©ÚselfÚargsÚkwargs©rúVd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/core/tests/test_overrides.pyÚ_return_not_implementedsrcCs|fSrr©ÚarrayrrrÚ<lambda>órcCsdS©ú
Docstring.ÚoriginalrrrrrÚdispatched_one_argsr cCs||fSrr©Zarray1Zarray2rrrr"rcCsdSrrr!rrrÚdispatched_two_arg"sr"c@s<eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd S)ÚTestGetImplementingArgscCs|t d¡}t|gƒ}tt|ƒ|gƒt||gƒ}tt|ƒ|gƒt|dgƒ}tt|ƒ|gƒtd|gƒ}tt|ƒ|gƒdS)Né©Únprr    rÚlist)rrrrrrÚ test_ndarray*s
 
   z$TestGetImplementingArgs.test_ndarraycCs´Gdd„dtjƒ}Gdd„dtjƒ}t d¡ tj¡}t d¡ |¡}t d¡ |¡}t||gƒ}tt|ƒ||gƒt||gƒ}tt|ƒ||gƒt||gƒ}tt|ƒ||gƒdS)Nc@seZdZeZdS)zDTestGetImplementingArgs.test_ndarray_subclasses.<locals>.OverrideSubN©Ú__name__Ú
__module__Ú __qualname__rÚ__array_function__rrrrÚ OverrideSub;sr.c@s eZdZdS)zFTestGetImplementingArgs.test_ndarray_subclasses.<locals>.NoOverrideSubN©r*r+r,rrrrÚ NoOverrideSub>sr0r$)r&ÚndarrayrÚviewr    rr')rr.r0rÚ override_subÚno_override_subrrrrÚtest_ndarray_subclasses9s  ÿz/TestGetImplementingArgs.test_ndarray_subclassescCs^Gdd„dƒ}t d¡}|ƒ}t||gƒ}tt|ƒ||gƒt||gƒ}tt|ƒ||gƒdS)Nc@seZdZeZdS)zBTestGetImplementingArgs.test_ndarray_and_duck_array.<locals>.OtherNr)rrrrÚOtherQsr6r$r%)rr6rÚotherrrrrÚtest_ndarray_and_duck_arrayOs
  z3TestGetImplementingArgs.test_ndarray_and_duck_arraycCsxGdd„dtjƒ}Gdd„dƒ}t d¡}t d¡ |¡}|ƒ}tt|||gƒ|||gƒtt|||gƒ|||gƒdS)Nc@seZdZeZdS)zQTestGetImplementingArgs.test_ndarray_subclass_and_duck_array.<locals>.OverrideSubNr)rrrrr._sr.c@seZdZeZdS)zKTestGetImplementingArgs.test_ndarray_subclass_and_duck_array.<locals>.OtherNr)rrrrr6bsr6r$)r&r1rr2rr    )rr.r6rZsubarrayr7rrrÚ$test_ndarray_subclass_and_duck_array]s
ÿÿz<TestGetImplementingArgs.test_ndarray_subclass_and_duck_arrayc    CsGdd„dƒ}Gdd„d|ƒ}Gdd„d|ƒ}Gdd„dƒ}|ƒ}|ƒ}|ƒ}|ƒ}ttd    gƒgƒtt|gƒ|gƒtt|d    gƒ|gƒtt|||gƒ|gƒtt|||gƒ||gƒtt||gƒ||gƒtt||gƒ||gƒtt|||gƒ|||gƒtt|||gƒ|||gƒdS)
Nc@seZdZeZdS)z8TestGetImplementingArgs.test_many_duck_arrays.<locals>.ANr)rrrrÚApsr:c@seZdZeZdS)z8TestGetImplementingArgs.test_many_duck_arrays.<locals>.BNr)rrrrÚBssr;c@seZdZeZdS)z8TestGetImplementingArgs.test_many_duck_arrays.<locals>.CNr)rrrrÚCvsr<c@seZdZeZdS)z8TestGetImplementingArgs.test_many_duck_arrays.<locals>.DNr)rrrrÚDysr=r$)rr    )    rr:r;r<r=ÚaÚbÚcÚdrrrÚtest_many_duck_arraysns"z-TestGetImplementingArgs.test_many_duck_arraysc    srttd‰‡fdd„tdƒDƒ}dd„|Dƒ}t|dd…ƒ}t||dd…ƒttdƒt|ƒW5QRXdS)N)r-cs"g|]}tdt|ƒtfˆƒ‘qS)r:)ÚtypeÚstrÚobject)Ú.0Úi©Ú    namespacerrÚ
<listcomp>szETestGetImplementingArgs.test_too_many_duck_arrays.<locals>.<listcomp>é!cSsg|]
}|ƒ‘qSrr©rFÚtrrrrJŽsé zdistinct argument types)ÚdictrÚranger    rrÚ    TypeError)rÚtypesZ relevant_argsÚactualrrHrÚtest_too_many_duck_arrays‹s
 z1TestGetImplementingArgs.test_too_many_duck_arraysN)    r*r+r,r(r5r8r9rBrTrrrrr#(s r#c@s eZdZedd„ƒZdd„ZdS)ÚTestNDArrayArrayFunctionc
    CsbGdd„dƒ}Gdd„dtjƒ}Gdd„dtjƒ}t dg¡}|ƒ}| |¡}| |¡}|jttjf|dfid    }t|d
ƒ|jttj|f||fid    }t|tkƒ|jttj|f||fid    }t|d
ƒ|jttj|f||fid    }t|d
ƒt    t
d ƒt  ||f¡W5QRXt  ||f¡}    t  ||f¡}t||     |¡ƒt  ||f¡}t||     |¡ƒdS) Nc@seZdZeZdS)z3TestNDArrayArrayFunction.test_method.<locals>.OtherNr)rrrrr6œsr6c@s eZdZdS)z;TestNDArrayArrayFunction.test_method.<locals>.NoOverrideSubNr/rrrrr0Ÿsr0c@seZdZeZdS)z9TestNDArrayArrayFunction.test_method.<locals>.OverrideSubNr)rrrrr.¢sr.r$gð?©ÚfuncrRrrrúno implementation found) r&r1rr2r-r"rrrrrQZ concatenate)
rr6r0r.rr7r4r3ÚresultÚexpectedrrrÚ test_method™sL 
 
þ
þ ý
ý
 z$TestNDArrayArrayFunction.test_methodc    CsDt d¡}dd„}ttdƒ|j|tjf|fidW5QRXdS)Nr$cSs|Srr©ÚxrrrrÎrz:TestNDArrayArrayFunction.test_no_wrapper.<locals>.<lambda>Z_implementationrV)r&rrÚAttributeErrorr-r1)rrrWrrrÚtest_no_wrapperÉs
  ÿz(TestNDArrayArrayFunction.test_no_wrapperN)r*r+r,Úrequires_array_functionr[r_rrrrrU—s
/rUc@s,eZdZdd„Zdd„Zdd„Zdd„Zd    S)
ÚTestArrayFunctionDispatchcCs:tdtjdƒD]$}t tjt|d¡}t|tkƒqdS)Nér$)Úprotocol)rPr ÚHIGHEST_PROTOCOLÚloadsÚdumpsr r)rÚprotoZ roundtrippedrrrÚ test_pickle×s
 ÿz%TestArrayFunctionDispatch.test_picklecCs(ttjdƒtjjdkr$ttjdƒdS)Nr rbr)rr r*ÚsysÚflagsÚoptimizeÚ__doc__©rrrrÚtest_name_and_docstringÝs  z1TestArrayFunctionDispatch.test_name_and_docstringcCsjGdd„dƒ}|ƒ}t|ƒ\}}}}}t||kƒt|tkƒtt|ƒ|hƒt||fkƒt|iƒdS)Nc@seZdZdd„ZdS)z9TestArrayFunctionDispatch.test_interface.<locals>.MyArraycSs|||||fSrr©rrWrRrrrrrr-åszLTestArrayFunctionDispatch.test_interface.<locals>.MyArray.__array_function__N©r*r+r,r-rrrrÚMyArrayäsrq)r rrÚset)rrqrÚobjrWrRrrrrrÚtest_interfaceâs  z(TestArrayFunctionDispatch.test_interfacec    Cs6Gdd„dƒ}|ƒ}ttdƒt|ƒW5QRXdS)Nc@seZdZdd„ZdS)z?TestArrayFunctionDispatch.test_not_implemented.<locals>.MyArraycSstSrrrorrrr-ôszRTestArrayFunctionDispatch.test_not_implemented.<locals>.MyArray.__array_function__NrprrrrrqósrqrX)rrQr ©rrqrrrrÚtest_not_implementedñs z.TestArrayFunctionDispatch.test_not_implementedN)r*r+r,rhrnrtrvrrrrraÔsrac@seZdZdd„Zdd„ZdS)ÚTestVerifyMatchingSignaturesc    Csätdd„dd„ƒtd dd„ddd„ƒtddd„ddd„ƒttƒtdd„dd„ƒW5QRXttƒtdd„ddd„ƒW5QRXttƒtdd    d„dd
d„ƒW5QRXttƒtdd d„dd d„ƒW5QRXdS)NcSsdS©Nrrr\rrrrrzNTestVerifyMatchingSignatures.test_verify_matching_signatures.<locals>.<lambda>cSsdSrxrr\rrrrrr$cSsdSrxrr\rrrrrcSsdSrxr)r>rrrrrcSsdSrxr)r?rrrrrcSsdSrxrr\rrrrrcSsdSrxrr\rrrr
rcSsdSrxr©Úyrrrr
rcSsdSrxrr\rrrr rcSsdSrxrryrrrr r)N)N)r$)N)N)N)N)r$)r$)r rÚ RuntimeErrorrmrrrÚtest_verify_matching_signaturesÿs
 
 
 
z<TestVerifyMatchingSignatures.test_verify_matching_signaturesc    CsDttƒtdd„ƒdd„ƒ}W5QRXtdd„dddd„ƒ}dS)    NcSs|fSrrr\rrrrrzKTestVerifyMatchingSignatures.test_array_function_dispatch.<locals>.<lambda>cSsdSrrryrrrÚfszDTestVerifyMatchingSignatures.test_array_function_dispatch.<locals>.fcSs|fSrrr\rrrrrF)ÚverifycSsdSrrryrrrr}s)rr{r
)rr}rrrÚtest_array_function_dispatchs
 
 
z9TestVerifyMatchingSignatures.test_array_function_dispatchN)r*r+r,r|rrrrrrwüsrwcs,i‰G‡‡fdd„dƒ‰‡fdd„}ˆ|fS)z2Create a duck array type and implements functions.cseZdZ‡‡fdd„ZdS)z._new_duck_type_and_implements.<locals>.MyArraycs4|ˆkr tSt‡fdd„|Dƒƒs&tSˆ|||ŽS)Nc3s|]}t|ˆƒVqdSr)Ú
issubclassrL)rqrrÚ    <genexpr>#szT_new_duck_type_and_implements.<locals>.MyArray.__array_function__.<locals>.<genexpr>)rÚallro©ÚHANDLED_FUNCTIONSrqrrr- s
zA_new_duck_type_and_implements.<locals>.MyArray.__array_function__Nrprrƒrrrqsrqcs‡‡fdd„}|S)z/Register an __array_function__ implementations.cs |ˆˆ<|Srr)rW)r„Únumpy_functionrrÚ    decorator)szD_new_duck_type_and_implements.<locals>.implements.<locals>.decoratorr)r…r†)r„)r…rÚ
implements'sz1_new_duck_type_and_implements.<locals>.implementsr)r‡rrƒrÚ_new_duck_type_and_implementss rˆc@sFeZdZdd„Zdd„Zdd„Zdd„Zej     d    d
d g¡d d „ƒZ
dS)ÚTestArrayFunctionImplementationcCs<tƒ\}}|tƒdd„ƒ}ttdƒdƒtt|ƒƒdƒdS)NcSsdS)NÚmyarrayrrrrrÚ_7sz7TestArrayFunctionImplementation.test_one_arg.<locals>._r$rrŠ)rˆr r©rrqr‡r‹rrrÚ test_one_arg4s
 
 
z,TestArrayFunctionImplementation.test_one_argc    CsÄtƒ\}}tddd„ƒddd„ƒ}||ƒddd„ƒ}t|d    ƒdƒt|d    d
d d
ƒt||ƒƒdƒttƒ||ƒd
d W5QRX||ƒd d }t|d ƒttƒ||ƒdd W5QRXdS)NcSs|fSrr©rÚoptionrrrrArzDTestArrayFunctionImplementation.test_optional_args.<locals>.<lambda>ÚdefaultcSs|SrrrŽrrrÚfunc_with_optionAszLTestArrayFunctionImplementation.test_optional_args.<locals>.func_with_optionrŠcSs|Srr)rÚ
new_optionrrrÚmy_array_func_with_optionEszUTestArrayFunctionImplementation.test_optional_args.<locals>.my_array_func_with_optionr$Úextra)rÚyes)r’Úno)N)r)rŠ)rˆr
rrrQ)rrqr‡r‘r“rYrrrÚtest_optional_args>s
 
 
 
z2TestArrayFunctionImplementation.test_optional_argsc    Csltƒ\}}tdd„dddd„ƒ}t d¡}t||ƒ|kƒt|jdƒttdƒ||ƒƒW5QRXdS)    NcSs|fSrrrrrrrZrzFTestArrayFunctionImplementation.test_not_implemented.<locals>.<lambda>Zmy)ÚmodulecSs|SrrrrrrrWZszBTestArrayFunctionImplementation.test_not_implemented.<locals>.funcr$z%no implementation found for 'my.func')    rˆr
r&rrrr+rrQ)rrqr‡rWrrrrrvWs
 
 
 ÿz4TestArrayFunctionImplementation.test_not_implementedc
Csœdd„}t|ƒdd„ƒ}z|ddWn&tk
rL}z|}W5d}~XYnXz|ddtdƒ‚Wn2tk
r–}z|j|jks†t‚W5d}~XYnXdS)NcSsdS)NrrrrrrÚ _dispatcheriszQTestArrayFunctionImplementation.test_signature_error_message.<locals>._dispatchercSsdSrrrrrrrWlszJTestArrayFunctionImplementation.test_signature_error_message.<locals>.funcé)Zbad_argú    must fail)r
rQÚAssertionErrorr)rr™rWÚeÚexpected_exceptionÚexcrrrÚtest_signature_error_messagefs
 
 z<TestArrayFunctionImplementation.test_signature_error_messageÚvalueéêzthis func is not replacedc
sjt|ƒ‰‡fdd„}t|ƒdd„ƒ}z|ƒtdƒ‚Wn.tk
rd}z|ˆksTt‚W5d}~XYnXdS)Ncsˆ‚dSrrr©ÚerrorrrÚ
dispatcher€szITestArrayFunctionImplementation.test_dispatcher_error.<locals>.dispatchercSsdS)NršrrrrrrWƒszCTestArrayFunctionImplementation.test_dispatcher_error.<locals>.funcr›)rQr
rœ)rr¡r¥rWrŸrr£rÚtest_dispatcher_error{s 
 z5TestArrayFunctionImplementation.test_dispatcher_errorN) r*r+r,rr—rvr ÚpytestÚmarkÚ parametrizer¦rrrrr‰1s 
r‰c@seZdZdd„ZdS)ÚTestNDArrayMethodscCsBGdd„dtjƒ}t d¡ |¡}tt|ƒdƒtt|ƒdƒdS)Nc@seZdZdd„ZdS)z-TestNDArrayMethods.test_repr.<locals>.MyArrayc_stSrr©rrrrrr-•sz@TestNDArrayMethods.test_repr.<locals>.MyArray.__array_function__Nrprrrrrq”srqr$z
MyArray(1)Ú1)r&r1rr2rÚreprrDrurrrÚ    test_reprszTestNDArrayMethods.test_reprN)r*r+r,r®rrrrrªŽsrªc@s@eZdZdd„Zdd„Zedd„ƒZedd„ƒZed    d
„ƒZd S) ÚTestNumPyFunctionscCsBttjjdƒttjjjdƒttjjjdƒttjjjdƒdS)NÚnumpyz
numpy.charz    numpy.fftz numpy.linalg)    rr&Úsumr+ÚcharÚequalZfftZlinalgZsolvermrrrÚtest_set_moduleŸsz"TestNumPyFunctions.test_set_modulecCst tj¡}td|jkƒdS)NÚaxis)ÚinspectÚ    signaturer&r±rÚ
parameters)rr·rrrÚtest_inspect_sum¥s z#TestNumPyFunctions.test_inspect_sumcCs2tƒ\}}|tjƒdd„ƒ}tt |ƒ¡dƒdS)NcSsdS)Nr•rrrrrr‹­sz/TestNumPyFunctions.test_override_sum.<locals>._r•)rˆr&r±rrŒrrrÚtest_override_sum©s
 
z$TestNumPyFunctions.test_override_sumcCsfGdd„dƒ}|tj|dƒ}d|jj_t |¡}t|dƒ|jj tj|f|fi¡|jj     
¡dS)Nc@s$eZdZdd„Zdd„Zdd„ZdS)z=TestNumPyFunctions.test_sum_on_mock_array.<locals>.ArrayProxycSs
||_dSr)r¡)rr¡rrrÚ__init__¹szFTestNumPyFunctions.test_sum_on_mock_array.<locals>.ArrayProxy.__init__c_s|jj||ŽSr)r¡r-rrrrr-»szPTestNumPyFunctions.test_sum_on_mock_array.<locals>.ArrayProxy.__array_function__c_s|jj||ŽSr)r¡Ú    __array__rrrrr¼½szGTestNumPyFunctions.test_sum_on_mock_array.<locals>.ArrayProxy.__array__N)r*r+r,r»r-r¼rrrrÚ
ArrayProxy¸sr½)Úspecr$) rZMockr¡r-Z return_valuer&r±rZassert_called_once_withr¼Zassert_not_called)rr½ÚproxyrYrrrÚtest_sum_on_mock_array³s
 
 
ÿz)TestNumPyFunctions.test_sum_on_mock_arraycCs6Gdd„dtjƒ}t d¡ |¡}tt |¡dƒdS)Ncs$eZdZdd„Z‡fdd„Z‡ZS)zFTestNumPyFunctions.test_sum_forwarding_implementation.<locals>.MyArraycSsdS)NÚsummedr)rrµÚoutrrrr±ÍszJTestNumPyFunctions.test_sum_forwarding_implementation.<locals>.MyArray.sumcstƒ ||||¡Sr)Úsuperr-ro©Ú    __class__rrr-ÐszYTestNumPyFunctions.test_sum_forwarding_implementation.<locals>.MyArray.__array_function__)r*r+r,r±r-Ú __classcell__rrrÄrrqËsrqr$rÁ)r&r1rr2rr±rurrrÚ"test_sum_forwarding_implementationÈs    z5TestNumPyFunctions.test_sum_forwarding_implementationN)    r*r+r,r´r¹r`rºrÀrÇrrrrr¯s
    
r¯c@s¬eZdZdd„Zd>dd„Zdd„Zedd    „ƒZd?ed ƒ˜d@ed ƒ˜dAed ƒ˜dBedƒ˜dCedƒ˜dDee     d¡ 
dd¡fddgd˜dEed ƒ˜dFed dƒ˜dGed ƒ˜dHed ƒ˜dIedƒ˜dJede d˜dKee dƒe d˜dLed"e d#d$˜dMed&d'„ƒ˜dNed)d'„d*d+gd#d,˜gZ ej d-e ¡ej d.d/dg¡ed0d1„ƒƒƒZej d-e ¡ej d2d3d3gd4g¡ed5d6„ƒƒƒZej d.d/dg¡d7d8„ƒZed9d:„ƒZej d-e ¡d;d<„ƒZd=S)OÚ TestArrayLikecCs,Gdd„dƒ}||_Gdd„dƒ}||_dS)Nc@seZdZddd„Zdd„ZdS)z+TestArrayLike.setup_method.<locals>.MyArrayNcSs
||_dSr©Úfunction©rrÊrrrr»Ûsz4TestArrayLike.setup_method.<locals>.MyArray.__init__cSsH|tt|jƒkst‚zt||jƒ}Wntk
r<tYSX|||ŽSr)Úgetattrr&r*rœr^r)rrWrRrrÚmy_funcrrrr-Þs 
z>TestArrayLike.setup_method.<locals>.MyArray.__array_function__)N)r*r+r,r»r-rrrrrqÚs
rqc@seZdZddd„ZdS)z:TestArrayLike.setup_method.<locals>.MyNoArrayFunctionArrayNcSs
||_dSrrÉrËrrrr»észCTestArrayLike.setup_method.<locals>.MyNoArrayFunctionArray.__init__)N)r*r+r,r»rrrrÚMyNoArrayFunctionArrayèsrÎ)rqrÎ)rrqrÎrrrÚ setup_methodÙs zTestArrayLike.setup_methodFcs ‡‡‡fdd„}tˆˆ|ƒdS)Ncs*d|ks t‚ˆrd|krt‚ˆtˆˆƒƒS)NÚlikeÚ value_error)rœÚ
ValueErrorrÌr«©Ú    arr_classÚenable_value_errorÚnamerrÚ _definitionïs  z-TestArrayLike.add_method.<locals>._definition)Úsetattr)rrÖrÔrÕr×rrÓrÚ
add_methodîszTestArrayLike.add_methodcOs||fSrrr«rrrÚ    func_argsùszTestArrayLike.func_argsc    Cs@| d|j¡|j ¡}ttdƒtjd|d}W5QRXdS)NrrXr$©rÐ)rÙrqrrrQr&Úasarray)rÚrefÚ
array_likerrrÚtest_array_like_not_implementedüs
 z-TestArrayLike.test_array_like_not_implementedr)r$rÜÚ
asanyarrayÚascontiguousarray)rbršÚasfortranarrayÚrequireérbršr:ÚF)Ú requirementsÚemptyÚfullÚonesÚzerosÚarangeÚ
frombuffers)ÚdtypeÚfromiterÚ
fromstringz1,2ú,)ríÚsepÚloadtxtcCstdƒS)Nz0 1
2 3rrrrrrrzTestArrayLike.<lambda>Ú
genfromtxtcCstdƒS)Nz1,2.1rrrrrrr)ÚintÚi8)ÚfloatZf8)ríÚ    delimiterzfunction, args, kwargsÚ    numpy_refTc Csö| d|j¡| ||j¡tt|ƒ}t|j|ƒ}|dkrFt d¡}n
|j ¡}tdd„|Dƒƒ}|||d|i—Ž}    |dkrÒt|    ƒtjksŽt‚tdd„|Dƒƒ}
||
|Ž} |dkrÆ|      d¡|         d¡t
|    | ƒn t|    ƒ|jksät‚|    j |ksòt‚dS)    NrTr$css |]}t|ƒr|ƒn|VqdSr©Úcallable©rFr>rrrr)sz0TestArrayLike.test_array_like.<locals>.<genexpr>rÐcss |]}t|ƒr|ƒn|VqdSrrùrûrrrr/srç) rÙrqrÌr&rÚtuplerCr1rœÚfillrrÊ) rrÊrrrøÚnp_funcrÍrÝÚ    like_argsrÞZnp_argsZnp_arrrrrÚtest_array_likes&
 
 
 
 
 zTestArrayLike.test_array_likerÝr$rÎc    Csv| d|j¡| ||j¡tt|ƒ}|dkr8|j ¡}tdd„|Dƒƒ}ttdƒ|||d|i—ŽW5QRXdS)NrrÎcss |]}t|ƒr|ƒn|VqdSrrùrûrrrrHsz<TestArrayLike.test_no_array_function_like.<locals>.<genexpr>z9The `like` argument must be an array-like that implementsrÐ)rÙrÎrÌr&rrürrQ)rrÊrrrÝrþrÿrrrÚtest_no_array_function_like<s
 
ÿz)TestArrayLike.test_no_array_function_likec    Csæ| d|j¡| d|j¡|dkr0t d¡}n
|j ¡}tj d¡}t ¡Ž}tj     |d¡}| 
|¡tj ||d}|dkr´t |ƒtj kst‚tj ||d}t||ƒt||ƒn$t |ƒ|jksÆt‚|j|jj ksØt‚W5QRXdS)NrÚfromfileTr$éZtestfilerÛ)rÙrqr&rÚrandomÚtempfileÚTemporaryDirectoryÚosÚpathÚjoinZtofilerrCr1rœrrÊ)rrørÝÚdataZtmpdirÚfnamerÞZnp_resrrrÚtest_array_like_fromfileNs" 
 
 
 
 z&TestArrayLike.test_array_like_fromfilec    CsD|jd|jdd|j ¡}ttƒtjdd|dW5QRXdS)NrT)rÕr$)rÑrÐ)rÙrqrrrQr&)rrÝrrrÚtest_exception_handlinghs
 
z%TestArrayLike.test_exception_handlingc    Cs| d|j¡| ||j¡tt|ƒ}tdd„|Dƒƒ}tdd„|Dƒƒ}|||ddi—Ž}|||Ž}|dkr‚| d¡| d¡t||ƒdS)Nrcss |]}t|ƒr|ƒn|VqdSrrùrûrrrrxsz2TestArrayLike.test_like_as_none.<locals>.<genexpr>css |]}t|ƒr|ƒn|VqdSrrùrûrrrrzsrÐrçr$)rÙrqrÌr&rürýr)    rrÊrrrþrÿZ like_args_exprÞrZrrrÚtest_like_as_noners
 
 
 
zTestArrayLike.test_like_as_noneN)F)r)rÜ)rà)rá)râ)rã)rç)rè)ré)rê)rë)rì)rî)rï)rò)ró)r*r+r,rÏrÙrÚr`rßr&rëZreshaperôrPZ _array_testsr§r¨r©rrr r rrrrrrÈØsR
 
    
 
 
 
 
ÿ
 
 
 
 
þï  
 
     rÈ)&r¶rirrÚiorZunittestrr°r&Z numpy.testingrrrrZnumpy.core.overridesr    r
r r Z numpy.compatr r§r¨Zskipifr`rr r"r#rUrarwrˆr‰rªr¯rÈrrrrÚ<module>s>   þ
 
 
 
o='\;