
    d                     Z    d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	  G d d	e          Z
d
S )zTests for git test utilities.    )TestCase   )MemoryObjectStore)Blob   )build_commit_graphmake_objectc                   B     e Zd Z fdZd Zd Zd Zd Zd Zd Z	 xZ
S )BuildCommitGraphTestc                 n    t                                                       t                      | _        d S )N)supersetUpr   store)self	__class__s    \/home/feoh/.local/pipx/venvs/poetry/lib/python3.11/site-packages/dulwich/tests/test_utils.pyr   zBuildCommitGraphTest.setUp   s%    &((


    c                    t          | j        dgddgg          \  }}|j        |j        |j        |j        fD ]}|                     || j                   |                     g |j                   |                     |j        g|j                   |                     |j        |j                   |                     g | j        |j                                                            |                     |j	        |j	                   d S )Nr   r   )
r   r   idtreeassertInassertEqualparentsitemsassertGreatercommit_time)r   c1c2obj_ids       r   test_linearz BuildCommitGraphTest.test_linear#   s    #DJ!q!f>>BubeRWbg6 	. 	.FMM&$*----RZ((("%"*---"'***TZ066889992>2>:::::r   c                    t          | j        dgddgddgg dg          \  }}}}|                     |j        |j        g|j                   |                     |j        |j                   |                     |j        |j                   d S )Nr   r      )   r   r"   )r   r   r   r   r   r   r   )r   r   r   c3c4s        r   
test_mergezBuildCommitGraphTest.test_merge-   s    +J!q!fq!fiii8
 
BB 	"%4442>2>:::2>2>:::::r   c           	      d    |                      t          t          | j        dgddgddgg           d S )Nr   r"   r   )assertRaises
ValueErrorr   r   )r   s    r   test_missing_parentz(BuildCommitGraphTest.test_missing_parent5   sA    *DJ!q!fq!f8M	
 	
 	
 	
 	
r   c                 |   t          t          d          }t          t          d          }t          | j        dgddggd|fgd|dfgd	          \  }}|                     d|j        f| j        |j                 d                    |                     d|j        f| j        |j                 d                    d S )
Ns   aaa1)datas   aaa2r   r      ai  r   r   )trees)r	   r   r   r   r   r   r   )r   a1a2r   r   s        r   
test_treeszBuildCommitGraphTest.test_trees:   s    G,,,G,,,#JS1a&Mbzlr8(<'=>>
 
 
B
 	(BE*DJrw,?,EFFF(BE*DJrw,?,EFFFFFr   c                     t          | j        dgddggdddii          \  }}|                     d|j                   |                     d|j                   d S )Nr   r   messages   Hooray!attrss   Commit 2)r   r   r   r4   )r   r   r   s      r   
test_attrszBuildCommitGraphTest.test_attrsE   so    #J!q!fa)Z1H-I
 
 
B 	RZ000bj11111r   c                 *   t          | j        dgddgddggddiddid          \  }}}|                     d|j                   |                     d|j                   |                     |j        |j        cxk     o
|j        k     nc            d S )	Nr   r   r"   r   |   {   r.   r5   )r   r   r   r   
assertTrue)r   r   r   r$   s       r   test_commit_timez%BuildCommitGraphTest.test_commit_timeL   s    'JS1a&1a&!$c*s/CDD
 
 

B
 	bn---bn---HHHH".HHHHIIIIIr   )__name__
__module____qualname__r   r    r&   r*   r2   r7   r<   __classcell__)r   s   @r   r   r      s        ) ) ) ) ); ; ;; ; ;
 
 

	G 	G 	G2 2 2J J J J J J Jr   r   N)__doc__dulwich.testsr   object_storer   objectsr   utilsr   r	   r    r   r   <module>rG      s   * $ # " " " " " " , , , , , ,       2 2 2 2 2 2 2 26J 6J 6J 6J 6J8 6J 6J 6J 6J 6Jr   