o
    ØÝ2gý  ã                   @  sJ   d Z ddlmZ ddlZddlmZmZmZmZm	Z	 G dd„ dej
ƒZdS )z$Test code geneneration for literals.é    )ÚannotationsN)ÚLiteralsÚ_encode_bytes_valuesÚ_encode_int_valuesÚ_encode_str_valuesÚformat_str_literalc                   @  sH   e Zd Zddd„Zddd„Zddd„Zdd	d
„Zddd„Zddd„ZdS )ÚTestLiteralsÚreturnÚNonec                 C  sT   t dƒdksJ ‚t dƒdksJ ‚t dƒdksJ ‚t dƒdks J ‚t d	ƒd
ks(J ‚d S )NÚ ó    Úxyzs   xyzÚxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs€   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxÚ€xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs‚    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxÚƒxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs…   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)r   ©Úself© r   úP/home/garg/my-data/venv/lib/python3.10/site-packages/mypyc/test/test_literals.pyÚtest_format_str_literal   s
   z$TestLiterals.test_format_str_literalc                 C  s”   t i ƒdgks	J ‚t ddiƒddgksJ ‚t dddœƒddgks"J ‚t dddœƒdtdd	gƒd
 dgks6J ‚t ddiƒtddgƒd dgksHJ ‚d S )Nó    Úfoor   ó   fooé   )r   Úbó   foob)r   ÚFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxéF   óF   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxÚdyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyéd   ód   yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)r   Úbytesr   r   r   r   Útest_encode_str_values   ó   
ý(z#TestLiterals.test_encode_str_valuesc                 C  s”   t i ƒdgks	J ‚t ddiƒddgksJ ‚t dddœƒddgks"J ‚t dddœƒdtdd	gƒd
 dgks6J ‚t ddiƒtddgƒd dgksHJ ‚d S )Nr   ó   foor   r   r   )r%   ó   br   )r%   r   r   r   r!   r    )r   r"   r   r   r   r   Útest_encode_bytes_values#   r$   z%TestLiterals.test_encode_bytes_valuesc                 C  s   t i ƒdgks	J ‚t ddiƒddgksJ ‚t dddœƒddgks"J ‚t ddddd	d
d  diƒg d¢ks6J ‚t dd
d  diƒddgksFJ ‚d S )Nr   é{   r   s   123r   )r(   é	   s   123 9é-   é   é
   r   é   )s   123 45sH   50000000000000000000000000000000000000000000000000000000000000000000000r   é   r    sf   60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)r   r   r   r   r   Útest_encode_int_values.   s
   ($z#TestLiterals.test_encode_int_valuesc                 C  s–   t ƒ }| d¡ | d¡ | d¡ | d ¡ | d¡ | d ¡dks%J ‚| d¡dks.J ‚| d¡dks7J ‚| d¡dks@J ‚| d¡dksIJ ‚d S )	Nr   ÚyTFr   r-   é   é   )r   Úrecord_literalÚliteral_index©r   Úlitr   r   r   Útest_simple_literal_index9   s   




z&TestLiterals.test_simple_literal_indexc                 C  s~   t ƒ }| d¡ | d¡ | d¡ | d¡dksJ ‚| d¡dks$J ‚| d¡dks-J ‚t| ¡ ƒ | ¡ g d¢ks=J ‚d S )N)r   r0   N©ó   ar   r8   r   é   é   r)   )
Ú3Ú2Ú5Ú4r?   Ú6r<   Ú0Ú7rA   )r   r3   r4   ÚprintÚencoded_tuple_valuesr5   r   r   r   Útest_tuple_literalF   s   


zTestLiterals.test_tuple_literalN)r	   r
   )	Ú__name__Ú
__module__Ú__qualname__r   r#   r'   r/   r7   rE   r   r   r   r   r      s    




r   )Ú__doc__Ú
__future__r   ÚunittestÚmypyc.codegen.literalsr   r   r   r   r   ÚTestCaser   r   r   r   r   Ú<module>   s
    	