
    "Kb{                     x    d Z ddlZddlZddlZ G d dej
                        Zedk(  r ej                          yy)z!Unit tests for the input.py file.    Nc                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)TestFindCyclesc                 x    i | _         dD ].  }t        j                  j                  |      | j                   |<   0 y )N)abcde)nodesgypinputDependencyGraphNode)selfxs     0/usr/lib/python3/dist-packages/gyp/input_test.pysetUpzTestFindCycles.setUp   s4    DJ& 7ii33A6djjm7    c                 p    |j                   j                  |       |j                  j                  |       y N)dependenciesappend
dependents)r   	dependent
dependencys      r   _create_dependencyz!TestFindCycles._create_dependency   s*    !!*-  +r   c                     | j                   j                         D ]%  \  }}| j                  g |j                                ' y r   )r   itemsassertEquals
FindCyclesr   labelnodes      r   test_no_cycle_empty_graphz(TestFindCycles.test_no_cycle_empty_graph   s9    zz'') /t
DOO-./r   c                    | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d          | j                  j                         D ]%  \  }}| j                  g |j	                                ' y )Nr   r   r   r	   r   r   r   r   r   r    s      r   test_no_cycle_linez!TestFindCycles.test_no_cycle_line       DJJsOTZZ_=DJJsOTZZ_=DJJsOTZZ_=zz'') /t
DOO-./r   c                    | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d          | j                  j                         D ]%  \  }}| j                  g |j	                                ' y )Nr   r   r   r%   r    s      r   test_no_cycle_dagz TestFindCycles.test_no_cycle_dag$   r'   r   c                     | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d   gg| j                  d   j                                y )Nr   r   r   r   r   r   s    r   test_cycle_self_referencez(TestFindCycles.test_cycle_self_reference,   s^    DJJsOTZZ_=

3C9:jjo0024r   c                    | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d   | j                  d   gg| j                  d   j                                | j                  | j                  d   | j                  d   | j                  d   gg| j                  d   j                                y )Nr   r   r+   r,   s    r   test_cycle_two_nodesz#TestFindCycles.test_cycle_two_nodes2   s    DJJsOTZZ_=DJJsOTZZ_=

3C$**S/JKjjo0024

3C$**S/JKjjo0024r   c                    | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d          | j                  d   j                         }| j                  | j                  d   | j                  d   | j                  d   g|v        | j                  | j                  d   | j                  d   | j                  d   g|v        | j	                  dt        |             y )Nr   r   r      )r   r   r   
assertTruer   len)r   cycless     r   test_two_cycleszTestFindCycles.test_two_cycles;   s   DJJsOTZZ_=DJJsOTZZ_=DJJsOTZZ_=DJJsOTZZ_=ZZ_'')FOO

3C$**S/:fDFOO

3C$**S/:fDFaV%r   c           	         | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d          | j                  | j                  d   | j                  d   | j                  d   | j                  d   | j                  d   | j                  d   gg| j                  d   j                                y )Nr   r   r   r	   r
   r+   r,   s    r   test_big_cyclezTestFindCycles.test_big_cycleI   s   DJJsOTZZ_=DJJsOTZZ_=DJJsOTZZ_=DJJsOTZZ_=DJJsOTZZ_=

3

3

3

3

3

3) * jjo0024r   N)__name__
__module____qualname__r   r   r#   r&   r)   r-   r/   r5   r7    r   r   r   r      s/    7
,///44&4r   r   __main__)	__doc__	gyp.inputr   unittestsysTestCaser   r8   mainr;   r   r   <module>rC      sB    (   
H4X&& H4V z(--/ r   