o
    >~#g                     @   sf   d dl Z d dlZd dlZd dlZddlmZ G dd dejZG dd dejZ	G dd	 d	ejZ
dS )
    N   )utilc                   @   s.   e Zd ZeddddgZejjdd Z	dS )
TestStringtestssrcstringzchar.f90c                 C   sn   t jg dddj}| jj||jd \}}|t|ks J |	 }d|dd d f< |t|ks5J 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expected r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/numpy/f2py/tests/test_string.py	test_char   s   
zTestString.test_charN)
__name__
__module____qualname__r   getpathsourcesr   markslowr   r   r   r   r   r      s    r   c                   @   s&   e Zd ZeddddgZdd ZdS )TestDocStringArgumentsr   r   r   zstring.fc                 C   s~   t d}t d}t d}t d}| j|||| | dks%J | dks-J | dks5J | dks=J d S )Ns   123  s   123s   B23  s   D23)r   r   r   footobytes)r   abr   dr   r   r   test_example   s   



z#TestDocStringArguments.test_exampleN)r    r!   r"   r   r#   r$   r-   r   r   r   r   r'      s    r'   c                   @   sF   e Zd ZeddddgZedddZdd
dZdd Z	dd Z
dS )TestFixedStringr   r   r   zfixed_string.f90r   Nc                 C   s|   t | tjr|  } n	t | tr|  } t | tsJ |du r#t| }d}t|t	|t| D ]}|| | d|  7 }q/|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jr   r   r   _sint*   s   

zTestFixedString._sintinc                 c   s    |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dV  t dV  t dV  t dV  t d
V  t d	V  t dV  t dV  t dV  d S )Nr>    1123412345           1   s   1 s   1234s   12345r   )buffers   123 )r   r1   bytes_r   )r   intentr   r   r   
_get_input>   s,   zTestFixedString._get_inputc                 C   s<   |   D ]}| j|}| j|dd}||ksJ |qd S )N   r:   )rK   r   test_in_bytes4r=   )r   r8   rr   r   r   r   test_intent_inU   s
   zTestFixedString.test_intent_inc                 C   s`   | j ddD ]'}| j|dd}| j|}| j|dd}||ks"J || j|ddks-J qd S )Ninout)rJ   rL   )r9   rM   )rK   r=   r   test_inout_bytes4)r   r8   restrO   r   r   r   r   test_intent_inout\   s   z!TestFixedString.test_intent_inout)r   Nr?   )r    r!   r"   r   r#   r$   staticmethodr=   rK   rP   rT   r   r   r   r   r.   '   s    
r.   )osr   textwrapnumpyr   r@   r   F2PyTestr   r'   r.   r   r   r   r   <module>   s    