
    "Kb{                     v    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                     dS dS )z!Unit tests for the input.py file.    Nc                   D    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
S )TestFindCyclesc                 l    i | _         dD ])}t          j                            |          | j         |<   *d S )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   s?    DJ& 7 7i33A66djmm7 7    c                 n    |j                             |           |j                            |           d S N)dependenciesappend
dependents)r   	dependent
dependencys      r   _create_dependencyz!TestFindCycles._create_dependency   s6    !!*---  +++++r   c                     | j                                         D ]-\  }}|                     g |                                           .d S r   )r   itemsassertEquals
FindCyclesr   labelnodes      r   test_no_cycle_empty_graphz(TestFindCycles.test_no_cycle_empty_graph   sP    z'')) / /t
DOO--..../ /r   c                    |                      | j        d         | j        d                    |                      | j        d         | j        d                    |                      | j        d         | j        d                    | j                                        D ]-\  }}|                     g |                                           .d S )Nr   r   r   r	   r   r   r   r   r   r    s      r   test_no_cycle_linez!TestFindCycles.test_no_cycle_line       DJsOTZ_===DJsOTZ_===DJsOTZ_===z'')) / /t
DOO--..../ /r   c                    |                      | j        d         | j        d                    |                      | j        d         | j        d                    |                      | j        d         | j        d                    | j                                        D ]-\  }}|                     g |                                           .d S )Nr   r   r   r%   r    s      r   test_no_cycle_dagz TestFindCycles.test_no_cycle_dag$   r'   r   c                     |                      | j        d         | j        d                    |                     | j        d         | j        d         gg| j        d                                                    d S )Nr   r   r   r   r   r   s    r   test_cycle_self_referencez(TestFindCycles.test_cycle_self_reference,   sq    DJsOTZ_===
3C9:jo00224 4 4 4 4r   c                    |                      | j        d         | j        d                    |                      | j        d         | j        d                    |                     | j        d         | j        d         | j        d         gg| j        d                                                    |                     | j        d         | j        d         | j        d         gg| j        d                                                    d S )Nr   r   r+   r,   s    r   test_cycle_two_nodesz#TestFindCycles.test_cycle_two_nodes2   s    DJsOTZ_===DJsOTZ_===
3C$*S/JKjo00224 4 4
3C$*S/JKjo00224 4 4 4 4r   c                    |                      | j        d         | j        d                    |                      | j        d         | j        d                    |                      | j        d         | j        d                    |                      | j        d         | j        d                    | j        d                                         }|                     | j        d         | j        d         | j        d         g|v            |                     | j        d         | j        d         | j        d         g|v            |                     dt          |                     d S )Nr   r   r      )r   r   r   
assertTruer   len)r   cycless     r   test_two_cycleszTestFindCycles.test_two_cycles;   s7   DJsOTZ_===DJsOTZ_===DJsOTZ_===DJsOTZ_===Z_''))FOO
3C$*S/:fDF F FOO
3C$*S/:fDF F FaV%%%%%r   c           	         |                      | j        d         | j        d                    |                      | j        d         | j        d                    |                      | j        d         | j        d                    |                      | j        d         | j        d                    |                      | j        d         | j        d                    |                     | j        d         | j        d         | j        d         | j        d         | j        d         | j        d         gg| j        d                                                    d S )Nr   r   r   r	   r
   r+   r,   s    r   test_big_cyclezTestFindCycles.test_big_cycleI   s$   DJsOTZ_===DJsOTZ_===DJsOTZ_===DJsOTZ_===DJsOTZ_===
3
3
3
3
3
3) * jo00224 4 4 4 4r   N)__name__
__module____qualname__r   r   r#   r&   r)   r-   r/   r5   r7    r   r   r   r      s        7 7 7
, , ,/ / // / // / /4 4 44 4 4& & &4 4 4 4 4r   r   __main__)	__doc__	gyp.inputr   unittestsysTestCaser   r8   mainr;   r   r   <module>rC      s    ( '      



H4 H4 H4 H4 H4X& H4 H4 H4V z(-///// r   