o
    i                     @   s   d dl Zd dlmZ d dlmZ d dlZd dlmZm	Z	 dd Z
dd ZG d	d
 d
eZG dd deZedkr>e  dS dS )    N)njit)TypingError)TestCaseforce_pyobj_flagsc                   C   s
   dddS )N      )r       r	   r	   r	   e/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/numba/tests/test_dicts.py	build_map   s   
r   c                  C   s   t } d| | diS )Nr   r   )r   )xr	   r	   r
   build_map_from_local_vars   s   r   c                   @   s$   e Zd ZefddZefddZdS )DictTestCasec                 C      | j t|d d S N)flags)run_nullary_funcr   selfr   r	   r	   r
   test_build_map      zDictTestCase.test_build_mapc                 C   r   r   )r   r   r   r	   r	   r
   test_build_map_from_local_vars   r   z+DictTestCase.test_build_map_from_local_varsN)__name__
__module____qualname__r   r   r   r	   r	   r	   r
   r      s    r   c                   @   s   e Zd 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d Zdd Zdd Zdd Zdd Zdd Zdd ZdS )TestCompiledDictzSTesting `dict()` and `{}` usage that are redirected to
    `numba.typed.Dict`.
    c                 C   &   t dd }| }| |ddi d S )Nc                  S   s   t  } d| d< | S Nr   r   dictdr	   r	   r
   foo    s   z+TestCompiledDict.test_use_dict.<locals>.foor   r   r   assertEqualr   r"   r!   r	   r	   r
   test_use_dict      
zTestCompiledDict.test_use_dictc                 C   s   t dd }t dd }g dg dftdtdfg ddfg d	dff}|D ]\}}|||}| |tt|| q*| | |  d S )
Nc                 S   s   t t| |}|S )N)r   zip)abr!   r	   r	   r
   dict_iterable_1+   s   zETestCompiledDict.test_use_dict_iterable_args.<locals>.dict_iterable_1c                   S   s   t g dS )N))Zsapei+  )Zguidoi  )Zjacki  r   r	   r	   r	   r
   dict_iterable_20   s   zETestCompiledDict.test_use_dict_iterable_args.<locals>.dict_iterable_2)r   r   r   )         r-   abc)r   r   r   r-   )r   npZaranger$   r   r(   py_func)r   r+   r,   Zinpsr)   r*   r!   r	   r	   r
   test_use_dict_iterable_args)   s   




z,TestCompiledDict.test_use_dict_iterable_argsc                 C   s.   t dd }tddi}| }| || d S )Nc                   S      t dS )N)r   r   r5   r   r	   r	   r	   r
   ctorB      z7TestCompiledDict.test_ctor_iterable_tuple.<locals>.ctorr   r   )r   r   ZassertEquals)r   r6   expectedgotr	   r	   r
   test_ctor_iterable_tupleA   s
   
z)TestCompiledDict.test_ctor_iterable_tuplec              	   C   s   ddl m} tdd }tdd }tdd }td	d
 }d}d}d}|t|f|t|f|t|f|t|fg}	|	D ]&\}
}}| |}|
  W d    n1 sPw   Y  | |t|j q8d S )Nr   )_message_dict_supportc                  S   s   t  } d| d< t | S r   r   r    r	   r	   r
   ctor1N   s   z;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor1c                   S   r4   )N)r5   )r   r)   r   r	   r	   r	   r
   ctor2T   r7   z;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor2c                   S   r4   )N))r)   r*   c)r!   efr   r	   r	   r	   r
   ctor3X   r7   z;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor3c                   S   s   t i dfi dffS Nr   r   r   r	   r	   r	   r
   ctor4\   s   z;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor4z(Non-iterable args used in dict(iterable)z0dictionary update sequence element has length 3;zUnhashable type)Znumba.core.typing.dictdeclr;   r   r   assertRaisesassertInstr	exception)r   r;   r<   r=   rA   rC   Z_non_iter_argsZ_dict_upd_item_lenZ_unhashable_typeZinputsfuncexcmsgraisesr	   r	   r
   test_unsupported_dict_usageJ   s.   



z,TestCompiledDict.test_unsupported_dict_usagec                 C   r   )Nc                  S   s   i } d| d< | S r   r	   r    r	   r	   r
   r"   s   s   z2TestCompiledDict.test_use_curlybraces.<locals>.foor   r   r#   r%   r	   r	   r
   test_use_curlybracesq   r'   z%TestCompiledDict.test_use_curlybracesc                 C   r   )Nc                   S   s   ddiS rB   r	   r	   r	   r	   r
   r"   ~   r7   z=TestCompiledDict.test_use_curlybraces_with_init1.<locals>.foor   r   r#   r%   r	   r	   r
   test_use_curlybraces_with_init1|   s   
z0TestCompiledDict.test_use_curlybraces_with_init1c                 C   s*   t dd }| }| |dddd d S )Nc                   S      ddddS )N皙@皙@ffffff@r   r   r.   r	   r	   r	   r	   r
   r"         z@TestCompiledDict.test_use_curlybraces_with_initmany.<locals>.foorP   rQ   rR   rS   r#   r%   r	   r	   r
   "test_use_curlybraces_with_initmany   s   
z3TestCompiledDict.test_use_curlybraces_with_initmanyc                 C   "   t dd }| | |  d S )Nc                   S   rO   )NrP   r-   r/   rS   r	   r	   r	   r	   r
   r"      rT   zATestCompiledDict.test_curlybraces_init_with_coercion.<locals>.foor   r$   r2   r   r"   r	   r	   r
   #test_curlybraces_init_with_coercion   s   
z4TestCompiledDict.test_curlybraces_init_with_coercionc                 C   s2   t dd }d\}}| |||||| d S )Nc                 S   s   | d|| | iS Nr   r	   )r   yr	   r	   r
   r"      s   z?TestCompiledDict.test_use_curlybraces_with_manyvar.<locals>.foo)
      rW   )r   r"   r   r[   r	   r	   r
   !test_use_curlybraces_with_manyvar   s   
z2TestCompiledDict.test_use_curlybraces_with_manyvarc                 C   rV   )Nc                  S   s"   t  } ddi| d< ddi| d< | S )Nr   r   r-   r   r   kr	   r	   r
   r"      s   z=TestCompiledDict.test_mixed_curlybraces_and_dict.<locals>.foorW   rX   r	   r	   r
   test_mixed_curlybraces_and_dict   s   
z0TestCompiledDict.test_mixed_curlybraces_and_dictc                 C   R   t dd }| t}|  W d    n1 sw   Y  | dt|j d S )Nc                  S   s   dd i} | S rZ   r	   r_   r	   r	   r
   r"         z;TestCompiledDict.test_dict_use_with_none_value.<locals>.fooz&Dict.value_type cannot be of type noner   rD   r   rE   rF   rG   r   r"   rK   r	   r	   r
   test_dict_use_with_none_value      
z.TestCompiledDict.test_dict_use_with_none_valuec                 C   T   t dd }| t}|d W d    n1 sw   Y  | dt|j d S )Nc                 S   s   | rdnd }d|i}|S Ng      @r   r	   )choiceoptionalr`   r	   r	   r
   r"      s   z?TestCompiledDict.test_dict_use_with_optional_value.<locals>.fooTz7Dict.value_type cannot be of type OptionalType(float64)rd   re   r	   r	   r
   !test_dict_use_with_optional_value   s   

z2TestCompiledDict.test_dict_use_with_optional_valuec                 C   rh   )Nc                 S   s   | rdnd di}|S ri   r	   )rj   r`   r	   r	   r
   r"      s   z=TestCompiledDict.test_dict_use_with_optional_key.<locals>.fooTz5Dict.key_type cannot be of type OptionalType(float64)rd   re   r	   r	   r
   test_dict_use_with_optional_key   s   

z0TestCompiledDict.test_dict_use_with_optional_keyc                 C   rb   )Nc                  S   s   d di} | S rZ   r	   r_   r	   r	   r
   r"      rc   z9TestCompiledDict.test_dict_use_with_none_key.<locals>.fooz$Dict.key_type cannot be of type nonerd   re   r	   r	   r
   test_dict_use_with_none_key   rg   z,TestCompiledDict.test_dict_use_with_none_keyN)r   r   r   __doc__r&   r3   r:   rL   rM   rN   rU   rY   r^   ra   rf   rl   rm   rn   r	   r	   r	   r
   r      s     	'			r   __main__)numpyr1   Znumbar   Znumba.core.errorsr   ZunittestZnumba.tests.supportr   r   r   r   r   r   r   mainr	   r	   r	   r
   <module>   s    	 K