
     f                    R    d dl mZ d dlZd dlZddlmZ ddlmZ ddZ	dd	Z
dd
ZdS )    )annotationsN   )abc)TaskreturnNonec            
        ddt           ft           ft           ft           ft           fddd	} t          j                    } | j                    D ]=\  }}t	          ||          sJ t          ||          }t          |          sJ  ||  >d S )N )gffffff
@)	
before_run	after_runtask_spawnedtask_scheduledbefore_task_stepafter_task_steptask_exitedbefore_io_waitafter_io_wait)r   tabc
Instrumentitemshasattrgetattrcallable)attrs
mayonnaisemethod_nameargsmethods        W/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/trio/_tests/test_abc.py'test_instrument_implements_hook_methodsr    
   s    '!G 7w 
 
E ""J(U[]]  Tz;/////[11	     c                 4  K   t          j        d           G d dt          j                              }  |             4 d {V }t	          ||           sJ |j        g k    sJ 	 d d d           d {V  n# 1 d {V swxY w Y   |j        dgk    sJ d S )NF)slotsc                  B    e Zd ZU  ej        e          Zded<   ddZdS ))test_AsyncResource_defaults.<locals>.MyARz	list[str]recordr   r   c                >   K   | j                             d           d S )Nac)r&   appendselfs    r   aclosez0test_AsyncResource_defaults.<locals>.MyAR.aclose%   s"      Kt$$$$$r!   Nr   r   )	__name__
__module____qualname__r   Factorylistr&   __annotations__r,   r
   r!   r   MyARr%   !   sG         )EM$//////	% 	% 	% 	% 	% 	%r!   r4   r(   )r   definer   AsyncResource
isinstancer&   )r4   myars     r   test_AsyncResource_defaultsr9       sN     
\% % % % %t! % % % tvv ! ! ! ! ! ! !$%%%%%{b     ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ;4&      s    A99
BBc                      G d dt           j        t           j                           }  |             }t          j        t
                    5  |                    d            d d d            d S # 1 swxY w Y   d S )Nc                  2    e Zd ZdZddZddZddZdd	Zd
S ))test_abc_generics.<locals>.SlottedChannel)xvalueobjectr   r   c                    t           NRuntimeErrorr+   r>   s     r   send_nowaitz5test_abc_generics.<locals>.SlottedChannel.send_nowait:       r!   c                   K   t           rA   rB   rD   s     r   sendz.test_abc_generics.<locals>.SlottedChannel.send=   s      r!   c                    t           rA   rB   r*   s    r   clonez/test_abc_generics.<locals>.SlottedChannel.clone@   rF   r!   c                
   K   d S rA   r
   r*   s    r   r,   z0test_abc_generics.<locals>.SlottedChannel.acloseC   s      Dr!   N)r>   r?   r   r   r-   )r.   r/   r0   	__slots__rE   rH   rJ   r,   r
   r!   r   SlottedChannelr<   7   si        		 	 	 		 	 	 		 	 	 		 	 	 	 	 	r!   rM   )r   SendChannelStreampytestraisesrC   rE   )rM   channels     r   test_abc_genericsrS   /   s        )$+6    nG	|	$	$ " "D!!!" " " " " " " " " " " " " " " " " "s   A//A36A3r-   )
__future__r   r   rP    r   r   lowlevelr   r    r9   rS   r
   r!   r   <module>rW      s    " " " " " "                 ,! ! ! !" " " " " "r!   