ó
    Ï›‘hm  ã                   óÄ   • S r SSKrSSKr " S S\R                  5      rSr " S S\R                  5      r " S S	\R                  5      r " S
 S\R                  5      rg)as  Tests for advice

This module was adapted from 'protocols.tests.advice', part of the Python
Enterprise Application Kit (PEAK).  Please notify the PEAK authors
(pje@telecommunity.com and tsarna@sarna.org) if bugs are found or
Zope-specific changes are required, so that the PEAK version of this module
can be kept in sync.

PEAK is a Python application framework that interoperates with (but does
not require) Zope 3 and Twisted.  It provides tools for manipulating UML
models, object-relational persistence, aspect-oriented programming, and more.
Visit the PEAK home page at http://peak.telecommunity.com for more information.
é    Nc                   ó,   • \ rS rSrS rS rS rS rSrg)ÚFrameInfoTesté    c                 ó²   • SSK Jn  UR                  u  p#pEU R                  US5        UR                  XE4 H  nU R                  XaR                  5        M      g )Nr   ©Úadvisory_testingÚmodule)Úzope.interface.testsr   ÚmoduleLevelFrameInfoÚassertEqualÚ__dict__ÚassertIsÚ
my_globals©Úselfr   Úkindr	   Úf_localsÚ	f_globalsÚds          ÚdC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\zope/interface/tests/test_advice.pyÚtest_w_moduleÚFrameInfoTest.test_w_module"   sM   € Ý9à 0× EÑ Eñ	ˆØ	Ø×Ñ˜˜xÔ(Ø—‘ (Ó5ˆAØ�M‰M˜!×8Ñ8Ö9ò 6ó    c                 óÊ   • SSK Jn  UR                  R                  u  nnnnU R	                  US5        UR
                  U4 H  nU R                  XaR                  5        M      g )Nr   r   Úclass)r
   r   ÚNewStyleClassÚclassLevelFrameInfor   r   r   r   r   s          r   Útest_w_classÚFrameInfoTest.test_w_class*   s[   € Ý9ð '×4Ñ4×HÑHñ	ˆØ	Ø	Ø	Ø×Ñ˜˜wÔ'à—‘ )Ó+ˆAØ�M‰M˜!×8Ñ8Ö9ò ,r   c                 ób  • SSK Jn  U" [        R                  " 5       5      u  p#pEU R	                  US5        [        R                  " 5       nU R	                  XFR
                  5        U R	                  U[        5       5        UR                  U4 H  nU R                  U[        5       5        M     g )Nr   ©ÚgetFrameInfozfunction call)
Úzope.interface.advicer"   ÚsysÚ	_getframer   r   Úlocalsr   r   Úglobals)r   r"   r   r	   r   r   Úframer   s           r   Útest_inside_function_callÚ'FrameInfoTest.test_inside_function_call5   s|   € Ý6Ù,8¼¿º»Ó,IÑ)ˆ�hØ×Ñ˜˜Ô/ä—’“ˆØ×Ñ˜§>¡>Ô2Ø×Ñ˜¤6£8Ô,à—‘ )Ó+ˆAØ�M‰M˜!œW›YÖ'ò ,r   c                 óâ   • SSK Jn  SU0n0 n[        [        X#5        U R	                  US   S5        U R                  US   U5        U R                  US   5        U R                  US   U5        g )	Nr   r!   r"   r   Úexecr   r	   r   )r#   r"   r,   Ú_FUNKY_EXECr   r   ÚassertIsNone)r   r"   Ú_globalsÚ_localss       r   Útest_inside_execÚFrameInfoTest.test_inside_execA   sk   € Ý6Ø" LÐ1ˆØˆÜŒ[˜(Ô,Ø×Ñ˜ ™¨&Ô1Ø�‰�g˜jÑ)¨7Ô3Ø×Ñ˜' (Ñ+Ô,Ø�‰�g˜kÑ*¨HÕ5r   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r)   r1   Ú__static_attributes__r3   r   r   r   r       s   † ò:ò	:ò
(õ6r   r   zMimport sys
kind, module, f_locals, f_globals = getFrameInfo(sys._getframe())
c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTest_isClassAdvisoréR   c                 ó   • SSK Jn  U" U0 UD6$ )Nr   )ÚisClassAdvisor)r#   r=   )r   ÚargsÚkwr=   s       r   Ú_callFUTÚTest_isClassAdvisor._callFUTT   s   € Ý8Ù˜tÐ* rÑ*Ð*r   c                 óF   • U R                  U R                  U 5      S5        g )NF©r   r@   ©r   s    r   Útest_w_non_functionÚ'Test_isClassAdvisor.test_w_non_functionX   s   € Ø×Ñ˜Ÿ™ tÓ,¨eÕ4r   c                 óL   • S nU R                  U R                  U5      S5        g )Nc                  ó   • [        5       e©N©ÚNotImplementedErrorr3   r   r   ÚfooÚ7Test_isClassAdvisor.test_w_normal_function.<locals>.foo]   ó   € Ü%Ó'Ð'r   FrC   )r   rL   s     r   Útest_w_normal_functionÚ*Test_isClassAdvisor.test_w_normal_function[   s"   € ò	(ð 	×Ñ˜Ÿ™ sÓ+¨UÕ3r   c                 ój   • S n[        5       Ul        U R                  U R                  U5      S5        g )Nc                  ó   • [        5       erI   rJ   r3   r   r   ÚbarÚ8Test_isClassAdvisor.test_w_advisor_function.<locals>.bard   rN   r   T)ÚobjectÚpreviousMetaclassr   r@   )r   rS   s     r   Útest_w_advisor_functionÚ+Test_isClassAdvisor.test_w_advisor_functionb   s,   € ò	(ô !'£ˆÔØ×Ñ˜Ÿ™ sÓ+¨TÕ2r   r3   N)	r4   r5   r6   r7   r@   rE   rO   rW   r8   r3   r   r   r:   r:   R   s   † ò+ò5ò4õ3r   r:   c                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
ÚTest_determineMetaclassék   c                 ó   • SSK Jn  U" U0 UD6$ )Nr   )ÚdetermineMetaclass)r#   r]   )r   r>   r?   r]   s       r   r@   Ú Test_determineMetaclass._callFUTm   s   € Ý<Ù! 4Ð.¨2Ñ.Ð.r   c                 óf   •  " S S[         5      nU R                  U R                  SU5      U5        g )Nc                   ó   • \ rS rSrSrg)ÚDTest_determineMetaclass.test_empty_w_explicit_metatype.<locals>.Metaés   r3   N©r4   r5   r6   r7   r8   r3   r   r   ÚMetara   s   ó   † Úr   rd   r3   ©Útyper   r@   ©r   rd   s     r   Útest_empty_w_explicit_metatypeÚ6Test_determineMetaclass.test_empty_w_explicit_metatypeq   s+   € ô	”4ô 	ð 	×Ñ˜Ÿ™ r¨4Ó0°$Õ7r   c                 ón   •  " S S[         5      nU R                  U R                  U45      [         5        g )Nc                   ó   • \ rS rSrSrg)Ú1Test_determineMetaclass.test_single.<locals>.Metaéz   r3   Nrc   r3   r   r   rd   rm   z   re   r   rd   rf   rh   s     r   Útest_singleÚ#Test_determineMetaclass.test_singlex   s+   € ô	”4ô 	ð 	×Ñ˜Ÿ™¨ wÓ/´Õ6r   c                 óŒ   •  " S S[         5      n " S S[         US9nU R                  U R                  U[         45      U5        g )Nc                   ó   • \ rS rSrSrg)Ú<Test_determineMetaclass.test_meta_of_class.<locals>.Metametaé�   r3   Nrc   r3   r   r   ÚMetametars   �   re   r   ru   c                   ó   • \ rS rSrSrg)Ú8Test_determineMetaclass.test_meta_of_class.<locals>.Metaé„   r3   Nrc   r3   r   r   rd   rw   „   re   r   rd   ©Ú	metaclassrf   )r   ru   rd   s      r   Útest_meta_of_classÚ*Test_determineMetaclass.test_meta_of_class   s;   € ô	”tô 	ô	”4 8ò 	ð 	×Ñ˜Ÿ™¨¬d |Ó4°hÕ?r   c                 ó´   •  " S S[         5      n " S SU5      n " S S[         US9n " S S	[         US9nU R                  U R                  X445      U5        g )
Nc                   ó   • \ rS rSrSrg)ÚGTest_determineMetaclass.test_multiple_in_hierarchy_py3k.<locals>.Meta_Aé‹   r3   Nrc   r3   r   r   ÚMeta_Ar   ‹   re   r   r�   c                   ó   • \ rS rSrSrg)ÚGTest_determineMetaclass.test_multiple_in_hierarchy_py3k.<locals>.Meta_BéŽ   r3   Nrc   r3   r   r   ÚMeta_Brƒ   Ž   re   r   r…   c                   ó   • \ rS rSrSrg)ÚBTest_determineMetaclass.test_multiple_in_hierarchy_py3k.<locals>.Aé‘   r3   Nrc   r3   r   r   ÚAr‡   ‘   re   r   r‰   ry   c                   ó   • \ rS rSrSrg)ÚBTest_determineMetaclass.test_multiple_in_hierarchy_py3k.<locals>.Bé”   r3   Nrc   r3   r   r   ÚBr‹   ”   re   r   r�   rf   ©r   r�   r…   r‰   r�   s        r   Útest_multiple_in_hierarchy_py3kÚ7Test_determineMetaclass.test_multiple_in_hierarchy_py3k‰   sS   € ô	”Tô 	ô	�Vô 	ô	” ò 	ô	” ò 	ð 	×Ñ˜Ÿ™¨ vÓ.°Õ7r   c                 ó¼   •  " S S[         5      n " S S[         5      n " S S[         US9n " S S	[         US9nU R                  [        U R                  X445        g )
Nc                   ó   • \ rS rSrSrg)ÚKTest_determineMetaclass.test_multiple_not_in_hierarchy_py3k.<locals>.Meta_Aé›   r3   Nrc   r3   r   r   r�   r“   ›   re   r   r�   c                   ó   • \ rS rSrSrg)ÚKTest_determineMetaclass.test_multiple_not_in_hierarchy_py3k.<locals>.Meta_Béž   r3   Nrc   r3   r   r   r…   r–   ž   re   r   r…   c                   ó   • \ rS rSrSrg)ÚFTest_determineMetaclass.test_multiple_not_in_hierarchy_py3k.<locals>.Aé¡   r3   Nrc   r3   r   r   r‰   r™   ¡   re   r   r‰   ry   c                   ó   • \ rS rSrSrg)ÚFTest_determineMetaclass.test_multiple_not_in_hierarchy_py3k.<locals>.Bé¤   r3   Nrc   r3   r   r   r�   rœ   ¤   re   r   r�   )rg   ÚassertRaisesÚ	TypeErrorr@   rŽ   s        r   Ú#test_multiple_not_in_hierarchy_py3kÚ;Test_determineMetaclass.test_multiple_not_in_hierarchy_py3k™   sP   € ô	”Tô 	ô	”Tô 	ô	” ò 	ô	” ò 	ð 	×Ñœ) T§]¡]°Q°FÕ;r   r3   N)r4   r5   r6   r7   r@   ri   ro   r{   r�   r    r8   r3   r   r   rZ   rZ   k   s!   † ò/ò8ò7ò@ò8õ <r   rZ   c                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
ÚTest_minimalBaseséª   c                 ó   • SSK Jn  U" U5      $ )Nr   )ÚminimalBases)r#   r¦   )r   Úklassesr¦   s      r   r@   ÚTest_minimalBases._callFUT¬   s   € Ý6Ù˜GÓ$Ð$r   c                 óF   • U R                  U R                  / 5      / 5        g rI   rC   rD   s    r   Ú
test_emptyÚTest_minimalBases.test_empty°   s   € Ø×Ñ˜Ÿ™ rÓ*¨BÕ/r   c                 óZ   • U R                  U R                  [        /5      [        /5        g rI   )r   r@   rg   rD   s    r   Útest_w_newstyle_metaÚ&Test_minimalBases.test_w_newstyle_meta³   s   € Ø×Ñ˜Ÿ™¬ vÓ.´°Õ7r   c                 ó^   •  " S S5      nU R                  U R                  U/5      U/5        g )Nc                   ó   • \ rS rSrSrg)Ú2Test_minimalBases.test_w_newstyle_class.<locals>.Cé¸   r3   Nrc   r3   r   r   ÚCr±   ¸   re   r   r³   rC   )r   r³   s     r   Útest_w_newstyle_classÚ'Test_minimalBases.test_w_newstyle_class¶   s+   € ÷	ñ 	ð 	×Ñ˜Ÿ™¨ sÓ+¨a¨SÕ1r   c                 óº  •  " S S5      n " S SU5      n " S SU5      n " S S5      nU R                  U R                  XU/5      U/5        U R                  U R                  X/5      U/5        U R                  U R                  X#/5      U/5        U R                  U R                  X/5      U/5        U R                  U R                  XBU/5      X$/5        g )	Nc                   ó   • \ rS rSrSrg)Ú@Test_minimalBases.test_simple_hierarchy_skips_implied.<locals>.Aé¿   r3   Nrc   r3   r   r   r‰   r¸   ¿   re   r   r‰   c                   ó   • \ rS rSrSrg)Ú@Test_minimalBases.test_simple_hierarchy_skips_implied.<locals>.BéÂ   r3   Nrc   r3   r   r   r�   r»   Â   re   r   r�   c                   ó   • \ rS rSrSrg)Ú@Test_minimalBases.test_simple_hierarchy_skips_implied.<locals>.CéÅ   r3   Nrc   r3   r   r   r³   r¾   Å   re   r   r³   c                   ó   • \ rS rSrSrg)Ú@Test_minimalBases.test_simple_hierarchy_skips_implied.<locals>.DéÈ   r3   Nrc   r3   r   r   ÚDrÁ   È   re   r   rÃ   rC   )r   r‰   r�   r³   rÃ   s        r   Ú#test_simple_hierarchy_skips_impliedÚ5Test_minimalBases.test_simple_hierarchy_skips_implied½   sÅ   € ÷	ñ 	ô	�ô 	ô	�ô 	÷	ñ 	ð 	×Ñ˜Ÿ™¨¨a yÓ1°A°3Ô7Ø×Ñ˜Ÿ™¨ vÓ.°°Ô4Ø×Ñ˜Ÿ™¨ vÓ.°°Ô4Ø×Ñ˜Ÿ™¨ vÓ.°°Ô4Ø×Ñ˜Ÿ™¨¨a yÓ1°A°6Õ:r   c                 ót   •  " S S5      n " S S5      nU R                  U R                  XU/5      X!/5        g )Nc                   ó   • \ rS rSrSrg)Ú@Test_minimalBases.test_repeats_kicked_to_end_of_queue.<locals>.AéÓ   r3   Nrc   r3   r   r   r‰   rÈ   Ó   re   r   r‰   c                   ó   • \ rS rSrSrg)Ú@Test_minimalBases.test_repeats_kicked_to_end_of_queue.<locals>.BéÖ   r3   Nrc   r3   r   r   r�   rË   Ö   re   r   r�   rC   )r   r‰   r�   s      r   Ú#test_repeats_kicked_to_end_of_queueÚ5Test_minimalBases.test_repeats_kicked_to_end_of_queueÑ   s7   € ÷	ñ 	÷	ñ 	ð 	×Ñ˜Ÿ™¨¨a yÓ1°A°6Õ:r   r3   N)r4   r5   r6   r7   r@   rª   r­   r´   rÄ   rÍ   r8   r3   r   r   r£   r£   ª   s    † ò%ò0ò8ò2ò;õ(;r   r£   )	Ú__doc__r$   ÚunittestÚTestCaser   r-   r:   rZ   r£   r3   r   r   Ú<module>rÒ      sc   ðñó Û ô)6�H×%Ñ%ô )6ðX€ô3˜(×+Ñ+ô 3ô2<<˜h×/Ñ/ô <<ô~/;˜×)Ñ)õ /;r   