ó
    æ“–ga  ã                   ór   • S r SSKrSSKr " S S\R                  5      r\S:X  a  \R                  " 5         gg)z!Unit tests for the input.py file.é    Nc                   óJ   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)ÚTestFindCyclesé   c                 ó|   • 0 U l         S H/  n[        R                  R                  U5      U R                   U'   M1     g )N)ÚaÚbÚcÚdÚe)ÚnodesÚgypÚinputÚDependencyGraphNode)ÚselfÚxs     Ú0/usr/lib/python3/dist-packages/gyp/input_test.pyÚsetUpÚTestFindCycles.setUp   s/   € ØˆŒ
Û*ˆAÜŸI™I×9Ñ9¸!Ó<ˆD�J‰J�q‹Mò +ó    c                 óp   • UR                   R                  U5        UR                  R                  U5        g ©N)ÚdependenciesÚappendÚ
dependents)r   Ú	dependentÚ
dependencys      r   Ú_create_dependencyÚ!TestFindCycles._create_dependency   s*   € Ø×Ñ×%Ñ% jÔ1Ø×Ñ×$Ñ$ YÕ/r   c                 óŠ   • U R                   R                  5        H%  u  pU R                  / UR                  5       5        M'     g r   )r   ÚitemsÚassertEqualÚ
FindCycles©r   ÚlabelÚnodes      r   Útest_no_cycle_empty_graphÚ(TestFindCycles.test_no_cycle_empty_graph   s2   € ØŸ:™:×+Ñ+Ö-‰KˆEØ×Ñ˜R §¡Ó!2Ö3ò .r   c                 ó’  • U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   5        U R                  R                  5        H%  u  pU R                  / UR	                  5       5        M'     g )Nr   r   r	   r
   ©r   r   r    r!   r"   r#   s      r   Útest_no_cycle_lineÚ!TestFindCycles.test_no_cycle_line   ó’   € Ø×Ñ §
¡
¨3¡°·±¸C±ÔAØ×Ñ §
¡
¨3¡°·±¸C±ÔAØ×Ñ §
¡
¨3¡°·±¸C±ÔAàŸ:™:×+Ñ+Ö-‰KˆEØ×Ñ˜R §¡Ó!2Ö3ò .r   c                 ó’  • U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   5        U R                  R                  5        H%  u  pU R                  / UR	                  5       5        M'     g )Nr   r   r	   r)   r#   s      r   Útest_no_cycle_dagÚ TestFindCycles.test_no_cycle_dag#   r,   r   c                 óð   • U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   //U R                  S   R                  5       5        g )Nr   ©r   r   r!   r"   ©r   s    r   Útest_cycle_self_referenceÚ(TestFindCycles.test_cycle_self_reference+   s^   € Ø×Ñ §
¡
¨3¡°·±¸C±ÔAà×ÑØ�j‰j˜‰o˜tŸz™z¨#™Ð/Ð0°$·*±*¸S±/×2LÑ2LÓ2Nõ	
r   c                 ó  • U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   U R                  S   //U R                  S   R                  5       5        U R                  U R                  S   U R                  S   U R                  S   //U R                  S   R                  5       5        g )Nr   r   r1   r2   s    r   Útest_cycle_two_nodesÚ#TestFindCycles.test_cycle_two_nodes2   sÒ   € Ø×Ñ §
¡
¨3¡°·±¸C±ÔAØ×Ñ §
¡
¨3¡°·±¸C±ÔAà×ÑØ�j‰j˜‰o˜tŸz™z¨#™°·
±
¸3±Ð@ÐAØ�J‰J�s‰O×&Ñ&Ó(ô	
ð 	×ÑØ�j‰j˜‰o˜tŸz™z¨#™°·
±
¸3±Ð@ÐAØ�J‰J�s‰O×&Ñ&Ó(õ	
r   c                 óÌ  • U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   5        U R                  S   R                  5       nU R                  U R                  S   U R                  S   U R                  S   /U;   5        U R                  U R                  S   U R                  S   U R                  S   /U;   5        U R	                  S[        U5      5        g )Nr   r   r	   é   )r   r   r"   Ú
assertTruer!   Úlen)r   Úcycless     r   Útest_two_cyclesÚTestFindCycles.test_two_cycles?   s  € Ø×Ñ §
¡
¨3¡°·±¸C±ÔAØ×Ñ §
¡
¨3¡°·±¸C±ÔAà×Ñ §
¡
¨3¡°·±¸C±ÔAØ×Ñ §
¡
¨3¡°·±¸C±ÔAà—‘˜C‘×+Ñ+Ó-ˆØ�‰˜Ÿ™ C™¨$¯*©*°S©/¸4¿:¹:Àc¹?ÐKÈvÑUÔVØ�‰˜Ÿ™ C™¨$¯*©*°S©/¸4¿:¹:Àc¹?ÐKÈvÑUÔVØ×Ñ˜œC ›KÕ(r   c           	      óÀ  • U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   5        U R                  U R                  S   U R                  S   U R                  S   U R                  S   U R                  S   U R                  S   //U R                  S   R                  5       5        g )Nr   r   r	   r
   r   r1   r2   s    r   Útest_big_cycleÚTestFindCycles.test_big_cycleK   s  € Ø×Ñ §
¡
¨3¡°·±¸C±ÔAØ×Ñ §
¡
¨3¡°·±¸C±ÔAØ×Ñ §
¡
¨3¡°·±¸C±ÔAØ×Ñ §
¡
¨3¡°·±¸C±ÔAØ×Ñ §
¡
¨3¡°·±¸C±ÔAà×Ñð —J‘J˜s‘OØ—J‘J˜s‘OØ—J‘J˜s‘OØ—J‘J˜s‘OØ—J‘J˜s‘OØ—J‘J˜s‘Oðð	ð �J‰J�s‰O×&Ñ&Ó(õ	
r   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r&   r*   r.   r3   r6   r=   r@   Ú__static_attributes__© r   r   r   r      s/   † ò=ò
0ò4ò4ò4ò
ò
ò
)õ
r   r   Ú__main__)Ú__doc__Ú	gyp.inputr   ÚunittestÚTestCaser   rB   ÚmainrG   r   r   Ú<module>rN      s=   ðñ (ã Û ôQ
�X×&Ñ&ô Q
ðh ˆzÓØ‡M‚M…Oð r   