
    ,h                    P    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y)
    )annotationsN   )abc)Taskc            
         ddt         ft         ft         ft         ft         fddd	} t        j                         } | j                         D ]1  \  }}t	        ||      sJ t        ||      }t        |      sJ  ||  3 y )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        V/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/trio/_tests/test_abc.py'test_instrument_implements_hook_methodsr   
   s    '!G 7w 
E "J(U[[] Tz;//[1	    c                 D  K   t        j                  d       G d dt        j                               }  |        4 d {   }t	        ||       sJ |j
                  g k(  sJ d d d       d {    j
                  dgk(  sJ y 7 F7 # 1 d {  7  sw Y   )xY ww)NF)slotsc                  D    e Zd ZU  ej                  e      Zded<   ddZy))test_AsyncResource_defaults.<locals>.MyARz	list[str]recordc                B   K   | j                   j                  d       y w)Nac)r$   appendselfs    r   aclosez0test_AsyncResource_defaults.<locals>.MyAR.aclose%   s     KKt$s   NreturnNone)	__name__
__module____qualname__r   Factorylistr$   __annotations__r*   r   r   r   MyARr#   !   s    )EMM$/	/	%r   r4   r&   )r   definer   AsyncResource
isinstancer$   )r4   myars     r   test_AsyncResource_defaultsr9       s     
\\%t!! % % v ! !$%%{{b  ! ! ;;4&   	! ! ! ! !sG   >B  BB  B$B /B	0B 	B BBBB c                      G d dt         j                  t         j                           }  |        }t        j                  t
              5  |j                  d        d d d        y # 1 sw Y   y xY w)Nc                  0    e Zd ZdZddZddZddZddZy)	)test_abc_generics.<locals>.SlottedChannel)xc                    t         NRuntimeErrorr)   values     r   send_nowaitz5test_abc_generics.<locals>.SlottedChannel.send_nowait:       r   c                   K   t         wr?   r@   rB   s     r   sendz.test_abc_generics.<locals>.SlottedChannel.send=   s     s   	c                    t         r?   r@   r(   s    r   clonez/test_abc_generics.<locals>.SlottedChannel.clone@   rE   r   c                   K   y wr?   r   r(   s    r   r*   z0test_abc_generics.<locals>.SlottedChannel.acloseC   s	     s   N)rC   objectr,   r-   r+   )r.   r/   r0   	__slots__rD   rG   rI   r*   r   r   r   SlottedChannelr<   7   s    					r   rM   )r   SendChannelStreampytestraisesrA   rD   )rM   channels     r   test_abc_genericsrS   /   sV    ))$++6  G	|	$ "D!" " "s   A&&A/r+   )
__future__r   r   rP    r   r   lowlevelr   r   r9   rS   r   r   r   <module>rW      s#    "    ,!"r   