a ;jg’ ã@sfddlZddlZddlZddlZddlmZGdd„dejƒZGdd„dejƒZ Gdd „d ejƒZ dS) éNé)Úutilc@s.eZdZe dddd¡gZejjdd„ƒZ dS)Ú TestStringÚtestsÚsrcÚstringzchar.f90cCsntjgd¢ddj}|jj ||jd¡\}}|t |¡ks@J‚|  ¡}d|ddd…f<|t |¡ksjJ‚dS)N)ÚabÚcdZefÚc)ZdtyperZAAA) ÚnpÚarrayÚTÚmoduleZ char_testZchange_stringsÚshapeÚpytestZapproxÚcopy)ÚselfÚstringsÚinpÚoutÚexpected©rúF/usr/local/lib/python3.9/site-packages/numpy/f2py/tests/test_string.pyÚ test_char s ÿzTestString.test_charN) Ú__name__Ú __module__Ú __qualname__rÚgetpathÚsourcesrÚmarkZslowrrrrrrsrc@s&eZdZe dddd¡gZdd„ZdS)ÚTestDocStringArgumentsrrrzstring.fcCs~t d¡}t d¡}t d¡}t d¡}|j ||||¡| ¡dksJJ‚| ¡dksZJ‚| ¡dksjJ‚| ¡dkszJ‚dS)Ns123s123sB23sD23)r r rZfooÚtobytes)rÚaÚbr ÚdrrrÚ test_examples    z#TestDocStringArguments.test_exampleN)rrrrrrr%rrrrr sr c@sFeZdZe dddd¡gZeddd„ƒZdd d „Zd d „Z dd„Z dS)ÚTestFixedStringrrrzfixed_string.f90rNcCs|t|tjƒr| ¡}nt|tƒr(| ¡}t|tƒs6J‚|durFt|ƒ}d}t|t |t|ƒƒƒD]}|||d|7}q^|S)z—Return the content of a string buffer as integer value. For example: _sint('1234') -> 4321 _sint('123A') -> 17321 Nré ) Ú isinstancer Úndarrayr!ÚstrÚencodeÚbytesÚlenÚrangeÚmin)ÚsÚstartÚendÚiÚjrrrÚ_sint*s   zTestFixedString._sintÚinccsÂ|dvrJdVdVdVdVdVdVdVd Vd Vd Vd Vtjd tjddVt d¡Vt d¡Vt d¡Vt d ¡Vt d ¡Vt d ¡Vt d¡Vt d ¡VdS)N)r6ÚÚ1Ú1234Z12345óóó1ós1s1234s12345r)Úbuffers123)r r)Úbytes_r )rÚintentrrrÚ _get_input>s*       zTestFixedString._get_inputcCs<| ¡D].}|j |¡}|j|dd}||ksJ|ƒ‚qdS)Né©r2)rArZtest_in_bytes4r5)rr0ÚrrrrrÚtest_intent_inUs  zTestFixedString.test_intent_incCs`|jddD]N}|j|dd}|j |¡}|j|dd}||ksDJ‚||j|ddks J‚q dS)NZinout)r@rB)r1rC)rAr5rZtest_inout_bytes4)rr0ÚrestrDrrrrÚtest_intent_inout\s   z!TestFixedString.test_intent_inout)rN)r6) rrrrrrÚ staticmethodr5rArErGrrrrr&'s   r&) ÚosrÚtextwrapÚnumpyr r7rZF2PyTestrr r&rrrrÚs