o
    qo™iœ  ã                   @   sF   d Z ddlmZ ddlmZ G dd„ dejƒZedkr!e ¡  dS dS )zTests for namespace.é    )Úabsltest)Ú	namespacec                   @   sD   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dS )ÚNamespaceTestc                 C   s(   |   t d¡d¡ |   t d¡d¡ d S )NÚFooBarÚfoo_barÚfooBar)ÚassertEqualr   Úcamel_to_snake©Úself© r   úV/home/ubuntu/.local/lib/python3.10/site-packages/fiddle/_src/codegen/namespace_test.pyÚtest_camel_to_snake   s   z!NamespaceTest.test_camel_to_snakec                 C   sL   |   t d¡d¡ |   t d¡d¡ |   t d¡d¡ |   t d¡d¡ d S )Nr   r   Ú	012FooBarÚ012Foo3Bar4Ú	foo3_bar4Ú	quxJMTBarÚqux_j_m_t_bar)r   r   Úpy_var_namer
   r   r   r   Útest_py_var_name   s   zNamespaceTest.test_py_var_namec                 C   s$   |   dt ¡ ¡ |  dt ¡ ¡ d S )NÚforÚfoo)ÚassertInr   Ú	NamespaceÚassertNotInr
   r   r   r   Ú test_namespace_contains_builtins%   s   z.NamespaceTest.test_namespace_contains_builtinsc                 C   s   |   dtjtƒ d¡ d S )Nr   )Únames)r   r   r   Úsetr
   r   r   r   Ú$test_namespace_can_override_builtins)   s   z2NamespaceTest.test_namespace_can_override_builtinsc                 C   s*   t  ¡ }|  | d¡d¡ |  d|¡ d S )Nr   )r   r   r   Úaddr   ©r   Únsr   r   r   Útest_namespace_add,   s   z NamespaceTest.test_namespace_addc                 C   sV   t  ¡ }|  | d¡d¡ |  td¡ | d¡ W d   ƒ d S 1 s$w   Y  d S )Nr   zTried to add.*already exists)r   r   r   r   ÚassertRaisesRegexÚ
ValueErrorr    r   r   r   Útest_namespace_double_add1   s
   "ÿz'NamespaceTest.test_namespace_double_addc                 C   s4   t  ¡ }|  | dd¡d¡ |  | dd¡d¡ d S )Nr   Ú Úfoo_2)r   r   r   Úget_new_namer    r   r   r   Útest_namespace_get_new_name7   s   z)NamespaceTest.test_namespace_get_new_nameN)
Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r"   r%   r)   r   r   r   r   r      s    	r   Ú__main__N)	Ú__doc__Úabsl.testingr   Úfiddle._src.codegenr   ÚTestCaser   r*   Úmainr   r   r   r   Ú<module>   s   'ÿ