§
    öÛgó  ã                   óB  — d dl Z d dlZd dlZd dl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 dd	lmZ dd
lmZ ddlmZ  G d„ dej        ¦  «        Z G d„ de j        ¦  «        Z G d„ de j        ¦  «        Z G d„ de j        ¦  «        Z G d„ de j        ¦  «        Z ej        d¦  «        j        d„ dœd„Z G d„ de j        ¦  «        Zedk    rEd dlm Z   e d¦  «        Z!e!j"         #                     e$¦   «         ¦  «          e j%        e!¦  «         dS dS )é    N)Úchain)Úmethodcaller)Úcontextmanageré   )Ú	interlace)Úsplit_sized_data)Ú	functools)Ú	itertools)Úfind_available_port)Úelementc                   óB   — e Zd Z ed„ ¦  «        ZdZdZdd„Zd„ Zd„ Z	dS )ÚElec                 ó$   — t          | dd¦  «        S )NÚlabelÚELEMENT©Úgetattr©Úxs    úQ/granary/edev/quantum/lib/python3.11/site-packages/postgresql/test/test_python.pyú<lambda>zEle.<lambda>   s   € �G�A�w 	Ñ*Ô*€ ó    )ÚancestorÚ	secondaryNc                 ó   — || _         d S ©N)r   )ÚselfÚss     r   Ú__init__zEle.__init__   s   € Ø€$„-€-€-r   c                 ó   — dS )NÚSTRDATA© ©r   s    r   Ú__str__zEle.__str__   s   € Ø	ˆr   c              #   ó^   K  — dt          | dd¦  «        fV — dt          | dd¦  «        fV — d S )NÚfirstÚfirstvÚsecondÚsecondvr   r#   s    r   Ú_e_metaszEle._e_metas    sF   è è € Ø	•'˜$ ¨Ñ2Ô2Ð3Ð3Ð3Ð3Ø	•7˜4 ¨9Ñ5Ô5Ð6Ð6Ð6Ð6Ð6Ð6r   r   )
Ú__name__Ú
__module__Ú__qualname__ÚpropertyÚ_e_labelÚ
_e_factorsr   r   r$   r*   r"   r   r   r   r      si   € € € € € ØˆHØ*Ð*ñô €ð (€Ø€ðð ð ð ðð ð ð7ð 7ð 7ð 7ð 7r   r   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )Útest_elementc                 óL  — t          ¦   «         }|                      t          j        t	          ¦   «         ¦  «        d ¦  «         |                      t          j        |¦  «        d¦  «         t          |¦  «        }|                      t          j        |¦  «        d|f¦  «         d S )N©r   Nr   )r   ÚassertEqualr   Úprime_factorÚobject)r   r   Úys      r   Útest_primary_factorz test_element.test_primary_factor%   sˆ   € Ý	�e„e€!à×Ò•7Ô'­©¬Ñ1Ô1°4Ñ8Ô8Ð8Ø×Ò•7Ô'¨Ñ*Ô*Ð,>Ñ?Ô?Ð?Ý	ˆ!�f„f€!Ø×Ò•7Ô'¨Ñ*Ô*¨Z¸¨OÑ<Ô<Ð<Ð<Ð<r   c                 óP  — t          ¦   «         }||_        |                      t          j        t
          t          j        |¦  «        ¦  «         t          |¦  «        }||_        |                      t          j        t
          t          j        |¦  «        ¦  «         |                      t          j        t
          t          j        |¦  «        ¦  «         d |_        t          |¦  «        }|                      t          t          j        |¦  «        ¦  «        d|fd|fdg¦  «         d S )Nr   r4   )r   r   ÚassertRaisesr   ÚRecursiveFactorÚlistÚprime_factorsr5   )r   r   r8   Úzs       r   Útest_primary_factorsz!test_element.test_primary_factors-   s  € Ý	�e„e€!Ø€!„*Ø×ÒÝ
Ô�D¥'Ô"7¸Ñ":Ô":ñô ð õ 
ˆ!�f„f€!Ø€!„*Ø×ÒÝ
Ô�D¥'Ô"7¸Ñ":Ô":ñô ð ð ×ÒÝ
Ô�D¥'Ô"7¸Ñ":Ô":ñô ð ð €!„*Ý	ˆ!�f„f€!Ø×Ò•4�Ô-¨aÑ0Ô0Ñ1Ô1Ø�€?Ø�€?Øð4ñ ô ð ð ð r   c                 ó   — t          ¦   «         }t          ¦   «         }t          ¦   «         }t          ¦   «         }t          ¦   «         }d|_        d|_        d|_        d|_        t          ¦   «         }d|_        ||_        ||_        ||_        ||_        ||_        d|_        d|_        d|_        d	|_        d
|_        t          j        |¦  «        }|                      |j        |v ¦  «         |                      |j        |v ¦  «         |                      |j        |v ¦  «         |                      |j        |v ¦  «         |                      d
|v ¦  «         |                      d|v ¦  «         |                      d|v ¦  «         |                      d|v ¦  «         |                      d|v ¦  «         |                      d|v ¦  «         ||_        |  	                    t          j
        t          j        |¦  «         d S )Nz
alt1-firstzalt1-secondz
alt2-firstzalt2-secondzalt2-ancestorÚunique1Úunique2Úunique3Úunique4ÚDIFF)r   r&   r(   r   r   r   r   Úformat_elementÚ
assertTruer;   r<   )r   r   r8   r?   Úalt1Úalt2ÚaltprimeÚdatas           r   Útest_format_elementz test_element.test_format_elementC   sÉ  € õ
 
�e„e€!Ý	�e„e€!Ý	�e„e€!Ý	‰Œ€$Ý	‰Œ€$Ø€$„*Ø€$„+Ø€$„*Ø€$„+Ý‰UŒU€(Ø"€(„.Ø€$„-Ø€!„*Ø€!„*Ø€!„+Ø€!„+Ø€!„'Ø€!„'Ø€!„(Ø€!„(Ø€!„'Ý	Ô	 Ñ	"Ô	"€$Ø‡/‚/�!”'˜T�/Ñ"Ô"Ð"Ø‡/‚/�!”'˜T�/Ñ"Ô"Ð"Ø‡/‚/�!”(˜dÐ"Ñ#Ô#Ð#Ø‡/‚/�!”(˜dÐ"Ñ#Ô#Ð#Ø‡/‚/�&˜D�.Ñ!Ô!Ð!Ø‡/‚/�, $Ð&Ñ'Ô'Ð'Ø‡/‚/�, $Ð&Ñ'Ô'Ð'Ø‡/‚/�- 4Ð'Ñ(Ô(Ð(Ø‡/‚/�- 4Ð'Ñ(Ô(Ð(Ø‡/‚/�/ TÐ)Ñ*Ô*Ð*Ø€!„*Ø×Ò•GÔ+­WÔ-CÀQÑGÔGÐGÐGÐGr   N)r+   r,   r-   r9   r@   rM   r"   r   r   r2   r2   $   sF   € € € € € ð=ð =ð =ðð ð ð,&Hð &Hð &Hð &Hð &Hr   r2   c                   ó   — e Zd Zd„ ZdS )Útest_itertoolsc           
      ó2  — t          ddd¦  «        }t          ddd¦  «        }t          ddd¦  «        }t          ddd¦  «        }|                      t          t          j        ||||¦  «        ¦  «        t          t          d¦  «        ¦  «        ¦  «         d S )Nr   éd   é   é   r   é   )Úranger5   r=   r
   r   )r   Úi1Úi2Úi3Úi4s        r   ÚtestInterlaceztest_itertools.testInterlacel   s•   € ÝˆQ��QÑÔ€"ÝˆQ��QÑÔ€"ÝˆQ��QÑÔ€"ÝˆQ��QÑÔ€"Ø×ÒÝ�	Ô˜B  B¨Ñ+Ô+Ñ,Ô,Ý�ˆc‰
Œ
ÑÔñô ð ð ð r   N)r+   r,   r-   rZ   r"   r   r   rO   rO   k   s#   € € € € € ðð ð ð ð r   rO   c                   ó   — e Zd Zd„ Zd„ ZdS )Útest_functoolsc                 óÒ  — t           j        } |t          t          f¦  «        }|                      d |d¦  «        ¦  «          |t          dd¦  «        fdz  ¦  «        }|                      d |d¦  «        ¦  «          |d¦  «        }|                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         |                       |d ¦  «        d ¦  «         d S )NÚ100Ú__mul__rR   i   r"   rQ   )r	   ÚCompositionÚintÚstrr5   r   )r   ÚcomposeÚsimpleÚtimesfour_fourtimesÚnothings        r   ÚtestCompositionztest_functools.testCompositionw   sì   € ÝÔ!€'Øˆ7•C��:ÑÔ€&Ø×Ò�5˜&˜& ™-œ-Ñ(Ô(Ð(Ø˜¥¨i¸Ñ!;Ô!;Ð =¸aÑ ?Ñ@Ô@ÐØ×Ò�;Ð 3Ð 3°AÑ 6Ô 6Ñ7Ô7Ð7ØˆG�B‰KŒK€'Ø×Ò�7�7˜5‘>”> 5Ñ)Ô)Ð)Ø×Ò�7�7˜3‘<”< Ñ%Ô%Ð%Ø×Ò�7�7˜4‘=”= $Ñ'Ô'Ð'Ð'Ð'r   c                 ó\  —  G d„ dt           ¦  «        } |¦   «         }|                      t          t          |d¦  «         t	          j        dd|¦  «        }|                      ||u ¦  «         |                      |j        |j        u ¦  «         |                      |j        dk    ¦  «         d S )Nc                   ó   — e Zd ZdS )ú)test_functools.testRSetAttr.<locals>.anobN)r+   r,   r-   r"   r   r   Úanobrj   ƒ   s   € € € € € Ø€4r   rk   ÚfooÚbar)r7   r;   ÚAttributeErrorr   r	   ÚrsetattrrH   rl   )r   rk   ÚobÚrobs       r   ÚtestRSetAttrztest_functools.testRSetAttr‚   sµ   € ðð ð ð ð �Vñ ô ð à€t�v„v€"Ø×Ò•N¥G¨R°Ñ7Ô7Ð7ÝÔ˜5 %¨Ñ,Ô,€#Ø‡/‚/�#˜�)ÑÔÐØ‡/‚/�#”'˜RœVÐ#Ñ$Ô$Ð$Ø‡/‚/�#”'˜UÒ"Ñ#Ô#Ð#Ð#Ð#r   N)r+   r,   r-   rg   rr   r"   r   r   r\   r\   v   s2   € € € € € ð	(ð 	(ð 	(ð$ð $ð $ð $ð $r   r\   c                   ó   — e Zd Zd„ ZdS )Útest_socketc                 óð  — t          d¦  «        D ]å}t          ¦   «         }t          j        t          j        t          j        ¦  «        }	 |                     d|f¦  «         |                      dt          |¦  «        z   ¦  «         nA# t          j        $ r/}|  	                    |j
        t          j        ¦  «         Y d }~nd }~ww xY w|                     ¦   «          ŒÍ# |                     ¦   «          w xY wd S )NrQ   Ú	localhostz'got a connection to an available port: )rU   r   ÚsocketÚAF_INETÚSOCK_STREAMÚconnectÚfailrb   Úerrorr5   ÚerrnoÚECONNREFUSEDÚclose)r   ÚiÚportnumr   Úerrs        r   ÚtestFindAvailableztest_socket.testFindAvailable�   só   € õ �‰:Œ:ð 
ð 
€aÝ Ñ"Ô"€7Ý„}•V”^¥VÔ%7Ñ8Ô8€1ðØ‡I‚Iˆ{˜GÐ$Ñ%Ô%Ð%ð 	‡I‚IÐ7½#¸g¹,¼,ÑFÑGÔGÐGÐGøõ Œ,ð 4ð 4ð 4Ø×Ò�S”Y¥Ô 2Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3øøøøð4øøøð
 ‡G‚G�I„I€I€Iø€A‡G‚G�I„I€I€Iøøøð
ð 
s0   Á
BÁ!&CÂCÂ%C Â;CÃ CÃCÃC3N)r+   r,   r-   rƒ   r"   r   r   rt   rt   Œ   s#   € € € € € ðð ð ð ð r   rt   z!Lc                 ó(   — | �t          | ¦  «        ndS )Nl   ÿÿ )Úlenr   s    r   r   r   ž   s   € ˜a˜m•C˜‘F”F�F°€ r   )ÚpackLÚgetlenc                 ó”   — d                      t          t          | t          ||¦  «        ¦  «        d„ |D ¦   «         ¦  «        ¦  «        S )Nr   c              3   ó"   K  — | ]
}|�|ndV — Œd S )Nr   r"   ©Ú.0r   s     r   ú	<genexpr>z"join_sized_data.<locals>.<genexpr>    s,   è è € Ð:eÐ:eÐ[\ÀÀ¸1¸1ÐSVÐ:eÐ:eÐ:eÐ:eÐ:eÐ:er   )Újoinr   Úmap)r†   r‡   rL   s      r   Újoin_sized_datar�   œ   sD   € ð 	�Š•�3˜u¥c¨&°$Ñ&7Ô&7Ñ8Ô8Ð:eÐ:eÐ`dÐ:eÑ:eÔ:eÑfÔfÑgÔgÐgr   c                   ó   — e Zd Zd„ ZdS )Útest_structlibc                 óÀ   — g d¢}d„ |D ¦   «         }|                       t          t          d¦  «        j        ¦  «         |                      |d„ |D ¦   «         ¦  «         d S )N)©ó   fooó   bar©r”   Nr•   r–   r“   r"   )NNN)ó   xNNNs   yzc                 ó    — g | ]}t          |Ž ‘ŒS r"   )r�   rŠ   s     r   ú
<listcomp>z1test_structlib.testSizedSplit.<locals>.<listcomp>­   s   € Ð7Ð7Ð7¨1•? AÐ&Ð7Ð7Ð7r   s   ÿÿÿfooc                 óF   — g | ]}t          t          |¦  «        ¦  «        ‘ŒS r"   )Útupler   rŠ   s     r   r™   z1test_structlib.testSizedSplit.<locals>.<listcomp>¯   s)   € ÐNÐNÐN¸1�EÕ"2°1Ñ"5Ô"5Ñ6Ô6ÐNÐNÐNr   )r;   Ú
ValueErrorr   Ú__next__r5   )r   ÚsampleÚpacked_samples      r   ÚtestSizedSplitztest_structlib.testSizedSplit£   sv   € ðð ð €&ð 8Ð7°Ð7Ñ7Ô7€-Ø×Ò•JÕ 0Ð1GÑ HÔ HÔ QÑRÔRÐRØ×Ò�6ÐNÐNÀÐNÑNÔNÑOÔOÐOÐOÐOr   N)r+   r,   r-   r    r"   r   r   r‘   r‘   ¢   s(   € € € € € ðPð Pð Pð Pð Pr   r‘   Ú__main__)Ú
ModuleTypeÚthis)&Úunittestrw   r}   Ústructr
   r   Úoperatorr   Ú
contextlibr   Úpython.itertoolsr   Úpython.structlibr   Úpythonr	   Úpython.socketr   r   ÚElementr   ÚTestCaser2   rO   r\   rt   ÚStructÚpackr�   r‘   r+   Útypesr¢   r£   Ú__dict__ÚupdateÚglobalsÚmainr"   r   r   ú<module>rµ      s•  ðð €€€Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø %Ð %Ð %Ð %Ð %Ð %à (Ð (Ð (Ð (Ð (Ð (Ø /Ð /Ð /Ð /Ð /Ð /Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø /Ð /Ð /Ð /Ð /Ð /Ø Ð Ð Ð Ð Ð ð7ð 7ð 7ð 7ð 7ˆ'Œ/ñ 7ô 7ð 7ð"EHð EHð EHð EHð EH�8Ô$ñ EHô EHð EHðN	ð 	ð 	ð 	ð 	�XÔ&ñ 	ô 	ð 	ð$ð $ð $ð $ð $�XÔ&ñ $ô $ð $ð,ð ð ð ð �(Ô#ñ ô ð ð" 
ˆŒ�tÑ	Ô	Ô	!Ø
;Ð
;ðhð hð hð hð hðPð Pð Pð Pð P�XÔ&ñ Pô Pð Pð ˆzÒÐØÐÐÐÐÐØˆ
�6ÑÔ€Ø„×Ò�g�g‘i”iÑ Ô Ð Ø€„ˆtÑÔÐÐÐð	 Ðr   