
    G/Ph                         d dl Z d dlZd dlZd dlZddlmZ  G d dej                  Z G d dej                  Z	 G d d	ej                  Z
dS )
    N   )utilc                   `    e Zd Z ej        dddd          gZej        j        d             Z	dS )
TestStringtestssrcstringzchar.f90c                 >   t          j        g dd          j        }| j        j                            ||j        d                   \  }}|t          j        |          k    sJ |	                                }d|dd d f<   |t          j        |          k    sJ d S )N)abcdefc)dtyper   AAA)
nparrayTmodule	char_testchange_stringsshapepytestapproxcopy)selfstringsinpoutexpecteds        \/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numpy/f2py/tests/test_string.py	test_charzTestString.test_char   s    (---S999;;(77W]1%' 'SfmG,,,,,,<<>>AAAfmH--------    N)
__name__
__module____qualname__r   getpathsourcesr   markslowr!    r"   r    r   r      sM        t|GUHjAABG[. . . . .r"   r   c                   <    e Zd Z ej        dddd          gZd ZdS )TestDocStringArgumentsr   r   r	   zstring.fc                    t          j        d          }t          j        d          }t          j        d          }t          j        d          }| j                            ||||           |                                dk    sJ |                                dk    sJ |                                dk    sJ |                                dk    sJ d S )Ns   123  s   123s   B23  s   D23)r   r   r   footobytes)r   abr   ds        r    test_examplez#TestDocStringArguments.test_example   s    HZ  HZ  HVHV1a###yy{{j((((yy{{j((((yy{{f$$$$yy{{f$$$$$$r"   N)r#   r$   r%   r   r&   r'   r3   r*   r"   r    r,   r,      s=        t|GUHjAABG% % % % %r"   r,   c                   b    e Zd Z ej        dddd          gZedd            Zdd	Zd
 Z	d Z
dS )TestFixedStringr   r   r	   zfixed_string.f90r   Nc           	         t          | t          j                  r|                                 } n)t          | t                    r|                                 } t          | t                    sJ |t          |           }d}t          |t          |t          |                               D ]}|| |         d|z  z  z  }|S )zReturn 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js        r    _sintzTestFixedString._sint*   s     a$$ 			AA3 	

A!U#####;a&&Cuc#s1vv..// 	 	A1AAAr"   inc              #     K   |dv r,dV  dV  dV  dV  dV  dV  dV  d	V  d
V  dV  dV  t          j        dt           j        d          V  t          j        d          V  t          j        d          V  t          j        d          V  t          j        d
          V  t          j        d	          V  t          j        d          V  t          j        d          V  t          j        d          V  d S )NrF    1123412345r"          1   s   1 s   1234s   12345r*   )buffers   123 )r   r9   bytes_r   )r   intents     r    
_get_inputzTestFixedString._get_input>   sC     VHHHIIILLLMMMIIIKKKJJJLLLLLLMMMNNNjRYs333333hsmmhuoohtnnhvhvhwhx     hx       r"   c                     |                                  D ]C}| j                            |          }|                     |d          }||k    s
J |            Dd S )N   rB   )rS   r   test_in_bytes4rE   )r   r@   rr   s       r    test_intent_inzTestFixedString.test_intent_inU   sd    "" 	$ 	$A**1--Azz!z++H===!====		$ 	$r"   c                    |                      d          D ]o}|                     |d          }| j                            |          }|                     |d          }||k    sJ ||                     |d          k    sJ pd S )Ninout)rR   rU   )rA   rV   )rS   rE   r   test_inout_bytes4)r   r@   restrX   r   s        r    test_intent_inoutz!TestFixedString.test_intent_inout\   s    00 	2 	2A::aq:))D--a00Azz!z++H==== 4::aq:1111111	2 	2r"   )r   NrH   )r#   r$   r%   r   r&   r'   staticmethodrE   rS   rY   r^   r*   r"   r    r5   r5   '   s        t|GUH6HIIJG   \&! ! ! !.$ $ $2 2 2 2 2r"   r5   )osr   textwrapnumpyr   rI   r   F2PyTestr   r,   r5   r*   r"   r    <module>rd      s    				            . . . . . . . .% % % % %T] % % %"=2 =2 =2 =2 =2dm =2 =2 =2 =2 =2r"   