
    c]                     T   d dl Z 	 d dlmZ n# e$ r d dlZY nw xY wd dlmZ d dlmZ 	 d dlmZ n# e$ r  e	            ZY nw xY wd dl
mZ d dlmZ d dlmZ d dlmZ d	d
lmZ d	dlmZ d	dlmZ  G d dee j                  Z eeej        j                    G d dee          ZdS )    N)deque)OrderedDictMappingProxyType)Invalid)collections)PYPY)PYTHON2   )add_abc_interface_tests)VerifyClassMixin)VerifyObjectMixinc            
          e Zd Zd Zd Zd Zd Zd Zd Ze	ddhZ
ere
                    eeh           erTe
                    eee ei                                            ei                                           h           i Zd	S d	S )
TestVerifyClassc                     |                      t                      t          j                   |                     |                     t          j        t                               d S N)assertIsInstance	frozensetabcSet
assertTrueverifyr   ISetselfs    Llib/python3.11/site-packages/zope/interface/common/tests/test_collections.pytest_frozensetzTestVerifyClass.test_frozenset.   sG    ikk37333K$4i@@AAAAA    c                     |                      t                      t          j                   |                     |                     t          j        t                               d S r   )r   listr   MutableSequencer   r   r   IMutableSequencer   s    r   	test_listzTestVerifyClass.test_list2   sH    dffc&9:::K$@$GGHHHHHr   c                     |                      |                     t          j        t          j                             d S r   )r   r   r   r"   UserListr   s    r   test_UserListzTestVerifyClass.test_UserList7   s=    K$@$/$8: : 	; 	; 	; 	; 	;r   c                     |                      |                     t          j        t          j                             d S r   )r   r   r   IMutableMappingUserDictr   s    r   test_UserDictzTestVerifyClass.test_UserDict;   s=    K$?$/$8: : 	; 	; 	; 	; 	;r   c                     |                      |                     t          j        t          j                             d S r   )r   r   r   	ISequence
UserStringr   s    r   test_UserStringzTestVerifyClass.test_UserString?   s=    K$9$/$:< < 	= 	= 	= 	= 	=r   c                    	 ddl m } n%# t          $ r |                     d           Y nw xY w|                     t                    5  |                     t          j        |           d d d            d S # 1 swxY w Y   d S )Nr   )r)   z+No UserDict.NonIterableUserDict on Python 3)r)   ImportErrorskipTestassertRaisesr   r   r   r(   )r   NonIterableUserDicts     r   test_non_iterable_UserDictz*TestVerifyClass.test_non_iterable_UserDictC   s    	I@@@@@@@ 	I 	I 	IMMGHHHHH	I w'' 	J 	JKK35HIII	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	Js   	 ++!A66A:=A:ParseResultsRowN)__name__
__module____qualname__r   r#   r&   r*   r.   r4   
memoryviewUNVERIFIABLEr	   updater   rangePY2
basestringbufferxrangetype	viewitemsviewkeysNON_STRICT_RO r   r   r   r   *   s#       B B BI I I
; ; ;; ; ;= = =J J J( 	 	 	L  	
 
 	 	 	  
 	D  D

 
	 
	 
	

 
r   r   c                      e Zd Zi ej        i j        ej        i j        ej        i j	        e
d ed ed ej        d  e e e                                d  e ed                    d dej         e ei 	                                                    d	  e ei                                                     d
  e ei                                                     d  ed  ed          D                       d  e eg                     d  e eg                     d dej        dd dd  e e e                                d  e ed                    d dej         e e e                                d iZer#e                    ej        i j        i           dS dS )TestVerifyObjectc                       t          d          S N   abc)r:   rF   r   r   <lambda>zTestVerifyObject.<lambda>   s    Jv.. r   c                       t          d          S )N
   r=   rF   r   r   rL   zTestVerifyObject.<lambda>   s    uRyy r   c                       t          i           S r   r   rF   r   r   rL   zTestVerifyObject.<lambda>   s    "22"6"6 r   c                  *    t          j        d          S )Nr   )r   r-   rF   r   r   rL   zTestVerifyObject.<lambda>   s    (>u(E(E r   c                  8    t          t                                S r   )iter	bytearrayrF   r   r   rL   zTestVerifyObject.<lambda>   s    ikk):): r   rK   c                       t          d          S rJ   rS   rF   r   r   rL   zTestVerifyObject.<lambda>   s    DLL r   	coroutinec                  D    t          i                                           S r   )rS   keysrF   r   r   rL   zTestVerifyObject.<lambda>   s    tBGGII r   c                  D    t          i                                           S r   )rS   itemsrF   r   r   rL   zTestVerifyObject.<lambda>   s    RXXZZ(8(8 r   c                  D    t          i                                           S r   )rS   valuesrF   r   r   rL   zTestVerifyObject.<lambda>   s    biikk):): r   c              #      K   | ]}|V  d S r   rF   .0is     r   	<genexpr>zTestVerifyObject.<genexpr>   s"      ""Aa""""""r   r   c                  4    d t          d          D             S )Nc              3      K   | ]}|V  d S r   rF   r_   s     r   rb   z,TestVerifyObject.<lambda>.<locals>.<genexpr>   s"      -B-BAa-B-B-B-B-B-Br      rO   rF   r   r   rL   zTestVerifyObject.<lambda>   s    -B-Bq-B-B-B r   c                       t          g           S r   rV   rF   r   r   rL   zTestVerifyObject.<lambda>       R r   c                       t          g           S r   )reversedrF   r   r   rL   zTestVerifyObject.<lambda>   s    HRLL r   longrange_iteratorrange_iteratorc                  :    t          t          d                    S Nre   rS   r=   rF   r   r   rL   zTestVerifyObject.<lambda>   s    $uQxx.. r   rangeiteratorc                  :    t          t          d                    S rm   rn   rF   r   r   rL   zTestVerifyObject.<lambda>   s    eAhh r   c                  8    t          t                                S r   )rS   setrF   r   r   rL   zTestVerifyObject.<lambda>   s    4;; r    c                       t          d          S )Nrs   rV   rF   r   r   rL   zTestVerifyObject.<lambda>   rg   r   async_generatorc                  8    t          t                                S r   )rS   tuplerF   r   r   rL   zTestVerifyObject.<lambda>   s    T%'']] r   N)r7   r8   r9   r   IValuesViewr]   
IItemsViewr[   	IKeysViewrY   r:   r=   r   r-   rB   rS   rT   unittestSkipTestri   rr   rw   CONSTRUCTORSr>   r<   
viewvaluesrF   r   r   rH   rH      s        	rw 	..	
 	   	66 	 E E 	TT))++!:!: 	TT&\\00 	X& 	TT"''))__66 	TT"((** 8 8 	TT"))++!:!: 	""q"""##%B%B 	TT"XX((  	XXb\\00!" 	h/#$ 	00//TT##%%[[..TT"XX((8,TT%%'']]22/ L4  #R]
 	 	 	 	 	 r   rH   )r{   collections.abcr   r0   r   r   r   typesr   objectzope.interfacer   zope.interface.commonzope.interface._compatr	   r
   r>   rs   r   r   r   TestCaser   r   r8   rH   rF   r   r   <module>r      s   !!!!!!!          # # # # # # &&&&&&&      vxx  # " " " " " . - - - - - ( ' ' ' ' ' 1 1 1 1 1 1 % % % % % %            Q
 Q
 Q
 Q
 Q
&(9 Q
 Q
 Q
f  )9)D E E E         (&         s    	0 AA