o
    Êó·igE  ã                   @   sN   d Z ddlZddlZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZdS )	zDocumentation tests.
é    Nc                   @   ól   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTest_asStructuredTextc                 C   ó   ddl m} ||ƒS )Nr   )ÚasStructuredText)Úzope.interface.documentr   )ÚselfÚifacer   © r	   úhC:\Users\psant\Downloads\PAF backend\school\venv\Lib\site-packages\zope/interface/tests/test_document.pyÚ_callFUT   ó   zTest_asStructuredText._callFUTc                 C   ó@   ddl m} d g d¢¡}G dd„ d|ƒ}|  |  |¡|¡ d S )Nr   ©Ú	Interfaceú

)ÚINoDocstringú Attributes:ú	 Methods:Ú c                   @   ó   e Zd ZdS )zNTest_asStructuredText.test_asStructuredText_no_docstring.<locals>.INoDocstringN©Ú__name__Ú
__module__Ú__qualname__r	   r	   r	   r
   r   #   ó    r   ©Úzope.interfacer   ÚjoinÚassertEqualr   ©r   r   ÚEXPECTEDr   r	   r	   r
   Ú"test_asStructuredText_no_docstring   ó   z8Test_asStructuredText.test_asStructuredText_no_docstringc                 C   r   )Nr   r   r   )ÚIEmptyú This is an empty interface.r   r   r   c                   @   ó   e Zd ZdZdS )zPTest_asStructuredText.test_asStructuredText_empty_with_docstring.<locals>.IEmptyú) This is an empty interface.
            N©r   r   r   Ú__doc__r	   r	   r	   r
   r#   2   ó    r#   r   ©r   r   r    r#   r	   r	   r
   Ú*test_asStructuredText_empty_with_docstring(   ó   z@Test_asStructuredText.test_asStructuredText_empty_with_docstringc                 C   sr   ddl m} tjdk rdnd}d dddd	|› d
�|› d�ddddddg¡}G dd„ d|ƒ}|  |  |¡|¡ d S )Nr   r   ©é   é   ú            r   Ú
r#   r$   ú zD It can be used to annotate any class or object, because it promisesz	 nothing.r   r   c                   @   r%   )zZTest_asStructuredText.test_asStructuredText_empty_with_multiline_docstring.<locals>.IEmptyz� This is an empty interface.

            It can be used to annotate any class or object, because it promises
            nothing.
            Nr'   r	   r	   r	   r
   r#   N   r)   ©r   r   ÚsysÚversion_infor   r   r   ©r   r   Úindentr    r#   r	   r	   r
   Ú4test_asStructuredText_empty_with_multiline_docstring8   s$   ózJTest_asStructuredText.test_asStructuredText_empty_with_multiline_docstringc                    óP   ddl m‰  ddl m} d g d¢¡}G ‡ fdd„d|ƒ}|  |  |¡|¡ d S )Nr   ©Ú	Attributer   r   )ÚIHasAttributeú! This interface has an attribute.r   z"  an_attribute -- no documentationr   r   c                       ó   e Zd ZdZ” dƒZdS )z^Test_asStructuredText.test_asStructuredText_with_attribute_no_docstring.<locals>.IHasAttributeú. This interface has an attribute.
            Úan_attributeN©r   r   r   r(   r@   r	   r:   r	   r
   r<   c   ó    r<   ©r   r;   r   r   r   r   ©r   r   r    r<   r	   r:   r
   Ú1test_asStructuredText_with_attribute_no_docstringW   ó
   	zGTest_asStructuredText.test_asStructuredText_with_attribute_no_docstringc                    r9   )Nr   r:   r   r   )r<   r=   r   z/  an_attribute -- This attribute is documented.r   r   c                       ó   e Zd ZdZ” ddƒZdS )z`Test_asStructuredText.test_asStructuredText_with_attribute_with_docstring.<locals>.IHasAttributer?   r@   úThis attribute is documented.NrA   r	   r:   r	   r
   r<   v   ó
    ÿr<   rC   rD   r	   r:   r
   Ú3test_asStructuredText_with_attribute_with_docstringj   ó
   	zITest_asStructuredText.test_asStructuredText_with_attribute_with_docstringc                 C   r   )Nr   r   r   )Ú
IHasMethodú This interface has a method.r   r   z  aMethod() -- no documentationr   c                   @   ó   e Zd ZdZdd„ ZdS )z`Test_asStructuredText.test_asStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethodú* This interface has a method.
            c                   S   ó   d S ©Nr	   r	   r	   r	   r
   ÚaMethodŒ   ó   zhTest_asStructuredText.test_asStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethod.aMethodN©r   r   r   r(   rR   r	   r	   r	   r
   rL   ‰   rB   rL   r   ©r   r   r    rL   r	   r	   r
   Ú6test_asStructuredText_with_method_no_args_no_docstring~   ó   	zLTest_asStructuredText.test_asStructuredText_with_method_no_args_no_docstringc                 C   r   )Nr   r   r   )rL   rM   r   r   z,  aMethod(first, second) -- no documentationr   c                   @   rN   )zhTest_asStructuredText.test_asStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethodrO   c                 S   rP   rQ   r	   ©ÚfirstÚsecondr	   r	   r
   rR   Ÿ   rS   zpTest_asStructuredText.test_asStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethod.aMethodNrT   r	   r	   r	   r
   rL   œ   rB   rL   r   rU   r	   r	   r
   Ú>test_asStructuredText_with_method_positional_args_no_docstring‘   rW   zTTest_asStructuredText.test_asStructuredText_with_method_positional_args_no_docstringc                 C   r   )Nr   r   r   )rL   rM   r   r   z3  aMethod(first, second, *rest) -- no documentationr   c                   @   rN   )zaTest_asStructuredText.test_asStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethodrO   c                 W   rP   rQ   r	   ©rY   rZ   Úrestr	   r	   r
   rR   ²   rS   ziTest_asStructuredText.test_asStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethod.aMethodNrT   r	   r	   r	   r
   rL   ¯   rB   rL   r   rU   r	   r	   r
   Ú7test_asStructuredText_with_method_starargs_no_docstring¤   rW   zMTest_asStructuredText.test_asStructuredText_with_method_starargs_no_docstringc                 C   r   )Nr   r   r   )rL   rM   r   r   z2  aMethod(first, second, **kw) -- no documentationr   c                   @   rN   )z_Test_asStructuredText.test_asStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethodrO   c                 [   rP   rQ   r	   ©rY   rZ   Úkwr	   r	   r
   rR   Å   rS   zgTest_asStructuredText.test_asStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethod.aMethodNrT   r	   r	   r	   r
   rL   Â   rB   rL   r   rU   r	   r	   r
   Ú5test_asStructuredText_with_method_kwargs_no_docstring·   rW   zKTest_asStructuredText.test_asStructuredText_with_method_kwargs_no_docstringc                 C   r   )Nr   r   r   )rL   rM   r   r   z)  aMethod() -- This method is documented.r   c                   @   rN   )zZTest_asStructuredText.test_asStructuredText_with_method_with_docstring.<locals>.IHasMethodrO   c                   S   ó   dS ©z+This method is documented.
                Nr	   r	   r	   r	   r
   rR   Ø   ó    zbTest_asStructuredText.test_asStructuredText_with_method_with_docstring.<locals>.IHasMethod.aMethodNrT   r	   r	   r	   r
   rL   Õ   rB   rL   r   rU   r	   r	   r
   Ú0test_asStructuredText_with_method_with_docstringÊ   ó   	zFTest_asStructuredText.test_asStructuredText_with_method_with_docstringc                    ó`   ddl m‰  ddl m} d g d¢¡}G dd„ d|ƒ}G ‡ fdd	„d	|ƒ}|  |  |¡|¡ d S )
Nr   r:   r   r   )ÚIDerivedú IDerived docú This interface extends:z	  o IBaser   z  attr1 -- no documentationz  attr2 -- attr2 docr   z  method3() -- method3 docz  method4() -- no documentationz  method5() -- method5 docr   c                   @   ó   e Zd Zdd„ Zdd„ ZdS )zOTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IBasec                   S   rb   ©Ú	docstringNr	   r	   r	   r	   r
   Úmethod1ñ   rd   zWTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IBase.method1c                   S   rb   rl   r	   r	   r	   r	   r
   Úmethod2ô   rd   zWTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IBase.method2N©r   r   r   rn   ro   r	   r	   r	   r
   ÚIBaseð   ó    rq   c                       ó:   e Zd ZdZ” dƒZ” ddƒZdd„ Zdd„ Zd	d
„ ZdS )zRTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerivedúIDerived docÚattr1Úattr2ú	attr2 docc                   S   rb   ©zmethod3 docNr	   r	   r	   r	   r
   Úmethod3ü   rd   zZTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerived.method3c                   S   rP   rQ   r	   r	   r	   r	   r
   Úmethod4ÿ   rS   zZTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerived.method4c                   S   rb   ©zmethod5 docNr	   r	   r	   r	   r
   Úmethod5  rd   zZTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerived.method5N©	r   r   r   r(   ru   rv   ry   rz   r|   r	   r:   r	   r
   rh   ÷   ó    
rh   rC   ©r   r   r    rq   rh   r	   r:   r
   Ú*test_asStructuredText_derived_ignores_baseÞ   ó   z@Test_asStructuredText.test_asStructuredText_derived_ignores_baseN)r   r   r   r   r!   r+   r8   rE   rJ   rV   r[   r^   ra   re   r€   r	   r	   r	   r
   r      s    r   c                   @   r   )ÚTest_asReStructuredTextc                 C   r   )Nr   )ÚasReStructuredText)r   rƒ   )r   r   rƒ   r	   r	   r
   r   
  r   z Test_asReStructuredText._callFUTc                 C   r   )Nr   r   r   )z``INoDocstring``r   r   r   c                   @   r   )zRTest_asReStructuredText.test_asReStructuredText_no_docstring.<locals>.INoDocstringNr   r	   r	   r	   r
   r     r   r   r   r   r	   r	   r
   Ú$test_asReStructuredText_no_docstring  r"   z<Test_asReStructuredText.test_asReStructuredText_no_docstringc                 C   r   )Nr   r   r   )ú
``IEmpty``r$   r   r   r   c                   @   r%   )zTTest_asReStructuredText.test_asReStructuredText_empty_with_docstring.<locals>.IEmptyr&   Nr'   r	   r	   r	   r
   r#   &  r)   r#   r   r*   r	   r	   r
   Ú,test_asReStructuredText_empty_with_docstring  r,   zDTest_asReStructuredText.test_asReStructuredText_empty_with_docstringc                 C   sr   ddl m} tjdk rdnd}d dddd	|› d
�|› d�ddddddg¡}G dd„ d|ƒ}|  |  |¡|¡ d S )Nr   r   r-   r0   r   r1   r…   r$   r2   z; It can be used to annotate any class or object, because itz promises nothing.r   r   c                   @   r%   )z^Test_asReStructuredText.test_asReStructuredText_empty_with_multiline_docstring.<locals>.IEmptyz� This is an empty interface.

            It can be used to annotate any class or object, because it
            promises nothing.
            Nr'   r	   r	   r	   r
   r#   C  r)   r#   r3   r6   r	   r	   r
   Ú6test_asReStructuredText_empty_with_multiline_docstring,  s$   òzNTest_asReStructuredText.test_asReStructuredText_empty_with_multiline_docstringc                    r9   )Nr   r:   r   r   )ú``IHasAttribute``r=   r   z&  ``an_attribute`` -- no documentationr   r   c                       r>   )zbTest_asReStructuredText.test_asReStructuredText_with_attribute_no_docstring.<locals>.IHasAttributer?   r@   NrA   r	   r:   r	   r
   r<   X  rB   r<   rC   rD   r	   r:   r
   Ú3test_asReStructuredText_with_attribute_no_docstringL  rF   zKTest_asReStructuredText.test_asReStructuredText_with_attribute_no_docstringc                    r9   )Nr   r:   r   r   )rˆ   r=   r   z3  ``an_attribute`` -- This attribute is documented.r   r   c                       rG   )zdTest_asReStructuredText.test_asReStructuredText_with_attribute_with_docstring.<locals>.IHasAttributer?   r@   rH   NrA   r	   r:   r	   r
   r<   k  rI   r<   rC   rD   r	   r:   r
   Ú5test_asReStructuredText_with_attribute_with_docstring_  rK   zMTest_asReStructuredText.test_asReStructuredText_with_attribute_with_docstringc                 C   r   )Nr   r   r   )ú``IHasMethod``rM   r   r   z#  ``aMethod()`` -- no documentationr   c                   @   rN   )zdTest_asReStructuredText.test_asReStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethodrO   c                   S   rP   rQ   r	   r	   r	   r	   r
   rR   �  rS   zlTest_asReStructuredText.test_asReStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethod.aMethodNrT   r	   r	   r	   r
   rL   ~  rB   rL   r   rU   r	   r	   r
   Ú8test_asReStructuredText_with_method_no_args_no_docstrings  rW   zPTest_asReStructuredText.test_asReStructuredText_with_method_no_args_no_docstringc                 C   r   )Nr   r   r   )r‹   rM   r   r   z0  ``aMethod(first, second)`` -- no documentationr   c                   @   rN   )zlTest_asReStructuredText.test_asReStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethodrO   c                 S   rP   rQ   r	   rX   r	   r	   r
   rR   ”  rS   ztTest_asReStructuredText.test_asReStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethod.aMethodNrT   r	   r	   r	   r
   rL   ‘  rB   rL   r   rU   r	   r	   r
   Ú@test_asReStructuredText_with_method_positional_args_no_docstring†  rW   zXTest_asReStructuredText.test_asReStructuredText_with_method_positional_args_no_docstringc                 C   r   )Nr   r   r   )r‹   rM   r   r   z7  ``aMethod(first, second, *rest)`` -- no documentationr   c                   @   rN   )zeTest_asReStructuredText.test_asReStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethodrO   c                 W   rP   rQ   r	   r\   r	   r	   r
   rR   §  rS   zmTest_asReStructuredText.test_asReStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethod.aMethodNrT   r	   r	   r	   r
   rL   ¤  rB   rL   r   rU   r	   r	   r
   Ú9test_asReStructuredText_with_method_starargs_no_docstring™  rW   zQTest_asReStructuredText.test_asReStructuredText_with_method_starargs_no_docstringc                 C   r   )Nr   r   r   )r‹   rM   r   r   z6  ``aMethod(first, second, **kw)`` -- no documentationr   c                   @   rN   )zcTest_asReStructuredText.test_asReStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethodrO   c                 [   rP   rQ   r	   r_   r	   r	   r
   rR   º  rS   zkTest_asReStructuredText.test_asReStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethod.aMethodNrT   r	   r	   r	   r
   rL   ·  rB   rL   r   rU   r	   r	   r
   Ú7test_asReStructuredText_with_method_kwargs_no_docstring¬  rW   zOTest_asReStructuredText.test_asReStructuredText_with_method_kwargs_no_docstringc                 C   r   )Nr   r   r   )r‹   rM   r   r   z-  ``aMethod()`` -- This method is documented.r   c                   @   rN   )z^Test_asReStructuredText.test_asReStructuredText_with_method_with_docstring.<locals>.IHasMethodrO   c                   S   rb   rc   r	   r	   r	   r	   r
   rR   Í  rd   zfTest_asReStructuredText.test_asReStructuredText_with_method_with_docstring.<locals>.IHasMethod.aMethodNrT   r	   r	   r	   r
   rL   Ê  rB   rL   r   rU   r	   r	   r
   Ú2test_asReStructuredText_with_method_with_docstring¿  rf   zJTest_asReStructuredText.test_asReStructuredText_with_method_with_docstringc                    rg   )
Nr   r:   r   r   )z``IDerived``ri   rj   z  o ``IBase``r   z  ``attr1`` -- no documentationz  ``attr2`` -- attr2 docr   z  ``method3()`` -- method3 docz#  ``method4()`` -- no documentationz  ``method5()`` -- method5 docr   c                   @   rk   )zSTest_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IBasec                   S   rP   rQ   r	   r	   r	   r	   r
   rn   æ  rS   z[Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IBase.method1c                   S   rP   rQ   r	   r	   r	   r	   r
   ro   é  rS   z[Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IBase.method2Nrp   r	   r	   r	   r
   rq   å  rr   rq   c                       rs   )zVTest_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerivedrt   ru   rv   rw   c                   S   rb   rx   r	   r	   r	   r	   r
   ry   ñ  rd   z^Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerived.method3c                   S   rP   rQ   r	   r	   r	   r	   r
   rz   ô  rS   z^Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerived.method4c                   S   rb   r{   r	   r	   r	   r	   r
   r|   ÷  rd   z^Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerived.method5Nr}   r	   r:   r	   r
   rh   ì  r~   rh   rC   r   r	   r:   r
   Ú,test_asReStructuredText_derived_ignores_baseÓ  r�   zDTest_asReStructuredText.test_asReStructuredText_derived_ignores_baseN)r   r   r   r   r„   r†   r‡   r‰   rŠ   rŒ   r�   rŽ   r�   r�   r‘   r	   r	   r	   r
   r‚     s     r‚   c                   @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚTest__justify_and_indentc                 K   s   ddl m} |||fi |¤ŽS )Nr   )Ú_justify_and_indent)r   r“   )r   ÚtextÚlevelr`   r“   r	   r	   r
   r   ÿ  s   z!Test__justify_and_indent._callFUTc                 C   s*   ddg}d  |¡}|  |  |d¡|¡ d S )NúThree blind miceúSee how they runr1   r   ©r   r   r   ©r   ÚLINESr”   r	   r	   r
   Útest_simple_level_0  s   
z,Test__justify_and_indent.test_simple_level_0c                 C   ó:   ddg}d  |¡}|  |  |d¡d  dd„ |D ƒ¡¡ d S )Nr–   r—   r1   é   c                 S   ó   g | ]}d | ‘qS ©r2   r	   ©Ú.0Úliner	   r	   r
   Ú
<listcomp>  ó    z@Test__justify_and_indent.test_simple_level_1.<locals>.<listcomp>r˜   r™   r	   r	   r
   Útest_simple_level_1  ó
   
ÿz,Test__justify_and_indent.test_simple_level_1c                 C   rœ   )Nr–   r—   r1   r�   c                 S   rž   rŸ   r	   r    r	   r	   r
   r£     r¤   z@Test__justify_and_indent.test_simple_level_2.<locals>.<listcomp>r˜   r™   r	   r	   r
   Útest_simple_level_2  r¦   z,Test__justify_and_indent.test_simple_level_2c                 C   s:   ddg}d  |¡}|  |  |d¡d  dd„ |D ƒ¡¡ d S )Nr–   r—   z
r�   r1   c                 S   rž   rŸ   r	   r    r	   r	   r
   r£     r¤   z?Test__justify_and_indent.test_simple_w_CRLF.<locals>.<listcomp>r˜   r™   r	   r	   r
   Útest_simple_w_CRLF  r¦   z+Test__justify_and_indent.test_simple_w_CRLFc                 C   s&   d}d}|   | j|dddd�|¡ d S )NzTThis is a piece of text longer than 15 characters, 
and split across multiple lines.z_  This is a piece
  of text longer
  than 15 characters,
  and split across
  multiple lines.
 r�   é   )ZmungeÚwidth)r   r   )r   ZTEXTr    r	   r	   r
   Útest_with_munge  s   z(Test__justify_and_indent.test_with_mungeN)	r   r   r   r   r›   r¥   r§   r¨   r«   r	   r	   r	   r
   r’   ý  s    r’   )r(   r4   ZunittestZTestCaser   r‚   r’   r	   r	   r	   r
   Ú<module>   s    u v