ó
\K]c           @  s°   d  d l  m Z d  d l m Z d  d l m Z d  d l j Z d d l	 m
 Z
 m Z d „  Z d „  Z d	 e
 f d
 „  ƒ  YZ d e
 f d „  ƒ  YZ e d k r¬ e j ƒ  n  d S(   iÿÿÿÿ(   t   print_function(   t   njit(   t   TypingErrorNi   (   t   TestCaset   force_pyobj_flagsc           C  s   i d d 6d d 6S(   Ni   i    i   i   (    (    (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt	   build_map	   s    c          C  s   t  }  i |  d 6d |  6S(   Ni    i   (   R   (   t   x(    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   build_map_from_local_vars   s    t   DictTestCasec           B  s    e  Z e d  „ Z e d „ Z RS(   c         C  s   |  j  t d | ƒd  S(   Nt   flags(   t   run_nullary_funcR   (   t   selfR	   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   test_build_map   s    c         C  s   |  j  t d | ƒd  S(   NR	   (   R
   R   (   R   R	   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   test_build_map_from_local_vars   s    (   t   __name__t
   __module__R   R   R   (    (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR      s   t   TestCompiledDictc           B  sz   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 RS(   sS   Testing `dict()` and `{}` usage that are redirected to
    `numba.typed.Dict`.
    c         C  s3   t  d „  ƒ } | ƒ  } |  j | i d d 6ƒ d  S(   Nc          S  s   t  ƒ  }  d |  d <|  S(   Ni   i   (   t   dict(   t   d(    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   foo!   s    	
i   i   (   R   t   assertEqual(   R   R   R   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   test_use_dict   s    	c         C  s[   d d l  m } t d „  ƒ } |  j t ƒ  } | ƒ  Wd  QX|  j | t | j ƒ ƒ d  S(   Niÿÿÿÿ(   t   _message_dict_supportc          S  s   t  ƒ  }  d |  d <t  |  ƒ S(   Ni   i   (   R   (   R   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR   .   s    	
(   t   numba.typing.dictdeclR   R   t   assertRaisesR   t   assertInt   strt	   exception(   R   R   R   t   raises(    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   test_unsupported_dict_usage*   s
    c         C  s3   t  d „  ƒ } | ƒ  } |  j | i d d 6ƒ d  S(   Nc          S  s   i  }  d |  d <|  S(   Ni   i   (    (   R   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR   ;   s    
i   i   (   R   R   (   R   R   R   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   test_use_curlybraces9   s    	c         C  s3   t  d „  ƒ } | ƒ  } |  j | i d d 6ƒ d  S(   Nc           S  s   i d d 6S(   Ni   i   (    (    (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR   G   s    i   i   (   R   R   (   R   R   R   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   test_use_curlybraces_with_init1E   s    	c         C  sA   t  d „  ƒ } | ƒ  } |  j | i d d 6d d 6d d 6ƒ d  S(   Nc           S  s   i d d 6d d 6d d 6S(   Ngš™™™™™@i   gš™™™™™@i   gffffff@i   (    (    (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR   P   s    gš™™™™™@i   gš™™™™™@i   gffffff@i   (   R   R   (   R   R   R   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt"   test_use_curlybraces_with_initmanyN   s    	c         C  s,   t  d „  ƒ } |  j | ƒ  | j ƒ  ƒ d  S(   Nc           S  s   i d d 6d d 6d d 6S(   Ngš™™™™™@i   i   i   i   i   (    (    (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR   Y   s    (   R   R   t   py_func(   R   R   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt#   test_curlybraces_init_with_coercionW   s    c         C  sD   t  d „  ƒ } d \ } } |  j | | | ƒ | j | | ƒ ƒ d  S(   Nc         S  s   i d |  6|  | | 6S(   Ni   (    (   R   t   y(    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR   a   s    i
   i   (   i
   i   (   R   R   R!   (   R   R   R   R#   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt!   test_use_curlybraces_with_manyvar_   s    c         C  s,   t  d „  ƒ } |  j | ƒ  | j ƒ  ƒ d  S(   Nc          S  s/   t  ƒ  }  i d d 6|  d <i d d 6|  d <|  S(   Ni   i   i   i   (   R   (   t   k(    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR   j   s    	(   R   R   R!   (   R   R   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   test_mixed_curlybraces_and_dicth   s    c         C  sK   t  d „  ƒ } |  j t ƒ  } | ƒ  Wd  QX|  j d t | j ƒ ƒ d  S(   Nc          S  s   i d  d 6}  |  S(   Ni   (   t   None(   R%   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR   u   s    s&   Dict.value_type cannot be of type none(   R   R   R   R   R   R   (   R   R   R   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   test_dict_use_with_none_values   s    c         C  sN   t  d „  ƒ } |  j t ƒ  } | t ƒ Wd  QX|  j d t | j ƒ ƒ d  S(   Nc         S  s   i |  r d n d  d 6} | S(   Ng      @i   (   R'   (   t   choiceR%   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR   „   s    s7   Dict.value_type cannot be of type OptionalType(float64)(   R   R   R   t   TrueR   R   R   (   R   R   R   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt!   test_dict_use_with_optional_value‚   s    c         C  sN   t  d „  ƒ } |  j t ƒ  } | t ƒ Wd  QX|  j d t | j ƒ ƒ d  S(   Nc         S  s   i d |  r d n d  6} | S(   Ni   g      @(   R'   (   R)   R%   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR   ’   s    s5   Dict.key_type cannot be of type OptionalType(float64)(   R   R   R   R*   R   R   R   (   R   R   R   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   test_dict_use_with_optional_key   s    c         C  sK   t  d „  ƒ } |  j t ƒ  } | ƒ  Wd  QX|  j d t | j ƒ ƒ d  S(   Nc          S  s   i d d  6}  |  S(   Ni   (   R'   (   R%   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR       s    s$   Dict.key_type cannot be of type none(   R   R   R   R   R   R   (   R   R   R   (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   test_dict_use_with_none_keyž   s    (   R   R   t   __doc__R   R   R   R   R    R"   R$   R&   R(   R+   R,   R-   (    (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyR      s   														t   __main__(   t
   __future__R    t   numbaR   t   numba.errorsR   t   numba.unittest_supportt   unittest_supportt   unittestt   supportR   R   R   R   R   R   R   t   main(    (    (    s5   lib/python2.7/site-packages/numba/tests/test_dicts.pyt   <module>   s   			‘