
    ]j                     <    d dl Z d dlT  G d de j                  ZdS )    N)*c                   Z    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd ZdS )TestPathz0Tests of dunder methods of the SVG Path element.c                 ,   t          d          }|dz  }|                     |t          d                     t          d          }|dz  }|dz  }t          |                                          }|                     t	          |d                   t          d                     |                     t	          |d                   t          d                     |                     t	          |d                   t          d                     d S )	NM0,0zM0,0zzM2,2zM1,1zr         )PathassertEquallistas_subpathsstr)selfp1subpathss      P/home/agentuser/manim-venv/lib/python3.11/site-packages/test/test_path_dunder.pytest_path_iadd_strzTestPath.test_path_iadd_str	   s    &\\
c	T']]+++']]
g
g(())Xa[))4==999Xa[))4==999Xa[))4==99999    c                 d    t          d          }|dz   }|dz  }|                     ||           d S )Nr   r   r   r   r   r   p2s      r   test_path_add_strzTestPath.test_path_add_str   s;    &\\#X
c	R     r   c                 |   t          d          }d|z   }t          |                                          }|                     t	          |d                   t	          t          d                               |                     t	          |d                   t	          t          d                               d S )Nr	   r
   r   r   )r   r   r   r   r   )r   r   r   r   s       r   test_path_radd_strzTestPath.test_path_radd_str   s    ']]r\(())Xa[))3tG}}+=+=>>>Xa[))3tG}}+=+=>>>>>r   c                     t          d          }|t          dd          z  }|dz  }|                     |t          d                     d S )Nr   r   r      r"   r   M0,0 L7,7 zr   Liner   r   r   s     r   test_path_iadd_segmentzTestPath.test_path_iadd_segment#   sN    &\\
d66"""
c	T-0011111r   c                     t          d          }|t          dd          z   }|dz  }|dz  }|                     |t          d                     |                     |t          d                     d S )Nr   r    r!   r   zM0,0 zr#   r$   r   s      r   test_path_add_segmentzTestPath.test_path_add_segment)   ss    &\\$vv&&&
c	
c	T(^^,,,T-0011111r   c                     t          d          }t          d          |z   }|dz  }|                     |t          d                     d S )NL7,7r    r   r#   )r   Mover   r&   s     r   test_path_radd_segmentzTestPath.test_path_radd_segment1   sJ    &\\&\\B
c	T-0011111r   c                 l   t          d          t          dd          z   dz   }|                     |t          d                     t          d          dz   dz   }|                     |t          d                     t          d          dz   }|                     |t          d                     d S )Nr   r!   r   r#   r+   zL7,7z)r,   r%   r   r   r&   s     r   test_path_from_segmentzTestPath.test_path_from_segment7   s    !WWtAv&,T-00111!WWv#T-00111!WWwT-0011111r   c                     t          d          dz  }|                     |t          d                     |dz  }|                     |t          d                     d S )Nr   translate(200,200))   r2   r   z	M200,200z)r,   r   r   r&   s     r   test_segment_mult_stringz!TestPath.test_segment_mult_stringA   s^    !WW++T*--...
c	T+../////r   c                    t          t          d                    dz  }|                     |d           t          t          d                                        dd          dz  }|                     |d           |                     |d           t          t          d                                        dd          d	z  }|                     |d           |                     |d           d S )
Nr   r1   zM200,200vector-effectnon-scaling-strokezscale(0.5) translateX(200)zM100,0zM200,0ztranslateX(200) scale(0.5))r   r,   r   setassertNotEqualr&   s     r   test_path_mult_stringzTestPath.test_path_mult_stringH   s    $q'']]11Z((($q'']]0DEEHddX&&&B)))$q'']]0DEEHddX&&&B)))))r   c                    |                      t          d          d           |                      t          d          d           |                     t          d          dz  dz   dk               |                     t          d          dz  dz   d	k               |                     t          t          d                    d
k               |                      t          d                              dd          dz  d           |                     t          d          dz  d           |                      t          d                              dd          dz  d           d S )NzM55,55zzM55 55zzM   55,   55zr   ztranslate(55,55)r   z	m 55, 55Zzrotate(0.50turn,100,0)zM200,0zr	   zM50,50 100,100 0,100 zr5   r6   z
scale(0.1)zM5,5 L10,10 0,10zzscale(0.11)zM0,0 h10 v10 h-10 v-10zzscale(0.2) translate(-5,-5)z"M -1,-1, L1,-1, 1,1, -1,1, -1,-1 Z)r   r   
assertTruer,   assertFalser7   r8   )r   s    r   test_path_equals_stringz TestPath.test_path_equals_stringT   sY   i)444i/:::Q"44s:kIJJJQ"::S@IMNNNd1gg'1222677;;OMabbeqq,	. 	. 	.D!9::]JL_```*++//AUVVYvv0	
 	
 	
 	
 	
r   c                 
   t          d          t          d          z  }|                     |d           |                                 |dz  }|t	                      z  }|                     |t          d                     d S )NzL20,20 40,40z
Rotate(20)z@L11.953449549205,25.634255282232 23.906899098410,51.268510564463z
L 100, 100zJL11.953449549205,25.634255282232 23.906899098410,51.268510564463 100,100 z)r   Matrixr   reifyClose)r   ps     r   test_path_mult_matrixzTestPath.test_path_mult_matrixb   s|      6,#7#77^___					\	UWWD!mnnooooor   c                     t          d          }t          d          }t          d          }||z   |z   }t          d          }|                     ||           d S )Nr   r+   Zz	M0,0 7,7zr   )r   r   r   p3qms         r   test_partial_pathzTestPath.test_partial_pathj   sY    &\\&\\#YYGbLAr   N)__name__
__module____qualname____doc__r   r   r   r'   r)   r-   r/   r3   r9   r=   rC   rI    r   r   r   r      s        ::: : :! ! !? ? ?2 2 22 2 22 2 22 2 20 0 0
* 
* 
*
 
 
p p p    r   r   )unittestsvgelementsTestCaser   rN   r   r   <module>rR      s[        j j j j jx  j j j j jr   