ó
¬«Y]c           @   sˆ   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z d e j f d „  ƒ  YZ d „  Z	 e
 d k r„ e	 ƒ  n  d S(   iÿÿÿÿN(   t   test_supportt   DictSetTestc           B   s}   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(   c         C   s£   t  i  j ƒ  ƒ } |  j t | i  ƒ |  j t | ƒ t  i  j ƒ  ƒ } |  j t | i  ƒ |  j t | ƒ t  i  j ƒ  ƒ } |  j t | i  ƒ |  j t | ƒ d  S(   N(   t   typet   viewkeyst   assertRaisest	   TypeErrort	   viewitemst
   viewvalues(   t   selft   ktt   itt   vt(    (    s$   lib/python2.7/test/test_dictviews.pyt   test_constructors_not_callable
   s    c         C   s‹  i d d 6d d 6} | j  ƒ  } |  j t | ƒ d ƒ |  j t | ƒ t d d g ƒ ƒ |  j | t d d g ƒ ƒ |  j | t d d d g ƒ ƒ |  j | t d d g ƒ ƒ |  j | t d g ƒ ƒ |  j | d ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j | j  ƒ  | j  ƒ  ƒ i d	 d 6d
 d 6} |  j | j  ƒ  | j  ƒ  ƒ | d =|  j | j  ƒ  | j  ƒ  ƒ d  S(   Ni
   i   t   ABCt   ai   t   bi*   t   Zi   t   def(   R   t   assertEqualt   lent   sett   assertNotEqualt   assertInt   assertNotIn(   R   t   dt   keyst   e(    (    s$   lib/python2.7/test/test_dictviews.pyt   test_dict_keys   s$    "c         C   s¶  i d d 6d d 6} | j  ƒ  } |  j t | ƒ d ƒ |  j t | ƒ t d d g ƒ ƒ |  j | t d d g ƒ ƒ |  j | t d d d g ƒ ƒ |  j | t d d g ƒ ƒ |  j | t d g ƒ ƒ |  j | d ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j | j  ƒ  | j  ƒ  ƒ | j ƒ  } |  j | j  ƒ  | j  ƒ  ƒ d | d <|  j | j  ƒ  | j  ƒ  ƒ d  S(   Ni
   i   R   R   i   t   junkR   i*   i   i   (   i   i
   (   R   R   (   i   i
   (   R   R   (   i   i
   (   R   R   (   i   i
   (   R   R   (   i   i
   (   i   i
   (   R   R   (   i   i   (    (   i   (   i   i   i   (   R   R   R   R   R   R   R   t   copy(   R   R   t   itemsR   (    (    s$   lib/python2.7/test/test_dictviews.pyt   test_dict_items)   s*    "
c         C   sd   i d d 6d d 6} i d d 6d d 6} |  j  | j ƒ  | j ƒ  ƒ |  j | j ƒ  | j ƒ  ƒ d  S(   Ni   i   i   i   (   i   i   (   i   i   (   R   R   R   R   (   R   R   R   (    (    s$   lib/python2.7/test/test_dictviews.pyt   test_dict_mixed_keys_items@   s    c         C   s\   i d d 6d d 6} | j  ƒ  } |  j t | ƒ t d d g ƒ ƒ |  j t | ƒ d ƒ d  S(   Ni
   i   R   R   i   (   R   R   R   R   (   R   R   t   values(    (    s$   lib/python2.7/test/test_dictviews.pyt   test_dict_valuesF   s    "c         C   sñ   i d d 6d d 6} |  j  t | ƒ t ƒ t | j ƒ  ƒ } |  j  | t ƒ |  j | d k pg | d k ƒ t | j ƒ  ƒ } |  j  | t ƒ |  j | d k p¨ | d k ƒ t | j ƒ  ƒ } |  j  | t ƒ |  j | d	 k pé | d
 k ƒ d  S(   Ni
   i   R   R   s#   dict_items([('a', 'ABC'), (1, 10)])s#   dict_items([(1, 10), ('a', 'ABC')])s   dict_keys(['a', 1])s   dict_keys([1, 'a'])s   dict_values(['ABC', 10])s   dict_values([10, 'ABC'])(   t   assertIsInstancet   reprt   strR   t
   assertTrueR   R   (   R   R   t   r(    (    s$   lib/python2.7/test/test_dictviews.pyt   test_dict_reprL   s    c         C   s¶  i d d 6d d 6} i d d 6d d 6} i d d 6d	 d
 6} |  j  | j ƒ  | j ƒ  @d d h ƒ |  j  | j ƒ  | j ƒ  @d h ƒ |  j  | j ƒ  | j ƒ  @t ƒ  ƒ |  j  | j ƒ  t | j ƒ  ƒ @d d h ƒ |  j  | j ƒ  t | j ƒ  ƒ @d h ƒ |  j  | j ƒ  t | j ƒ  ƒ @t ƒ  ƒ |  j  | j ƒ  t | j ƒ  ƒ @d d h ƒ |  j  | j ƒ  | j ƒ  Bd d h ƒ |  j  | j ƒ  | j ƒ  Bd d d h ƒ |  j  | j ƒ  | j ƒ  Bd d d d
 h ƒ |  j  | j ƒ  t | j ƒ  ƒ Bd d h ƒ |  j  | j ƒ  t | j ƒ  ƒ Bd d d h ƒ |  j  | j ƒ  t | j ƒ  ƒ Bd d d d
 h ƒ |  j  | j ƒ  d Bd d d d h ƒ |  j  | j ƒ  | j ƒ  At ƒ  ƒ |  j  | j ƒ  | j ƒ  Ad d h ƒ |  j  | j ƒ  | j ƒ  Ad d d d
 h ƒ |  j  | j ƒ  t | j ƒ  ƒ At ƒ  ƒ |  j  | j ƒ  t | j ƒ  ƒ Ad d h ƒ |  j  | j ƒ  t | j ƒ  ƒ Ad d d d
 h ƒ |  j  | j ƒ  t | j ƒ  ƒ Ad d h ƒ |  j  | j ƒ  | j ƒ  t ƒ  ƒ |  j  | j ƒ  | j ƒ  d h ƒ |  j  | j ƒ  | j ƒ  d d h ƒ |  j  | j ƒ  t | j ƒ  ƒ t ƒ  ƒ |  j  | j ƒ  t | j ƒ  ƒ d h ƒ |  j  | j ƒ  t | j ƒ  ƒ d d h ƒ |  j  | j ƒ  d d d h ƒ d  S(   Ni   R   i   R   i   t   ci   R   i   R   i    (   i   i   (   i    i   (   R   R   R   t   tupleR   (   R   t   d1t   d2t   d3(    (    s$   lib/python2.7/test/test_dictviews.pyt   test_keys_set_operations\   sB    &##,)),&),,/&#&,),,##&)),c         C   s‘  i d d 6d d 6} i d d 6d d 6} i d d 6d d 6} |  j  | j ƒ  | j ƒ  @d	 d
 h ƒ |  j  | j ƒ  | j ƒ  @d h ƒ |  j  | j ƒ  | j ƒ  @t ƒ  ƒ |  j  | j ƒ  t | j ƒ  ƒ @d d h ƒ |  j  | j ƒ  t | j ƒ  ƒ @d h ƒ |  j  | j ƒ  t | j ƒ  ƒ @t ƒ  ƒ |  j  | j ƒ  | j ƒ  Bd d h ƒ |  j  | j ƒ  | j ƒ  Bd d d h ƒ |  j  | j ƒ  | j ƒ  Bd d d d h ƒ |  j  | j ƒ  t | j ƒ  ƒ Bd d h ƒ |  j  | j ƒ  t | j ƒ  ƒ Bd d d h ƒ |  j  | j ƒ  t | j ƒ  ƒ Bd d d d  h ƒ |  j  | j ƒ  | j ƒ  At ƒ  ƒ |  j  | j ƒ  | j ƒ  Ad! d" h ƒ |  j  | j ƒ  | j ƒ  Ad# d$ d% d& h ƒ |  j  | j ƒ  | j ƒ  t ƒ  ƒ |  j  | j ƒ  | j ƒ  d' h ƒ |  j  | j ƒ  | j ƒ  d( d) h ƒ |  j  | j ƒ  t | j ƒ  ƒ t ƒ  ƒ |  j  | j ƒ  t | j ƒ  ƒ d* h ƒ |  j  | j ƒ  t | j ƒ  ƒ d+ d, h ƒ d  S(-   Ni   R   i   R   i   R   i   R   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R   R   R   (   R   R+   R,   R-   (    (    s$   lib/python2.7/test/test_dictviews.pyt   test_items_set_operations‚   sF     ##))###&))c         C   sb   i  } | j  ƒ  | d <t | ƒ } |  j | t ƒ | j ƒ  | d <t | ƒ } |  j | t ƒ d  S(   Ni*   (   R   R$   R#   R%   R   (   R   R   R'   (    (    s$   lib/python2.7/test/test_dictviews.pyt   test_recursive_reprª   s    c         C   sQ   i  } x1 t  t j ƒ  d ƒ D] } i | j ƒ  d 6} q W|  j t t | ƒ d  S(   Nid   i*   (   t   ranget   syst   getrecursionlimitR   R   t   RuntimeErrorR$   (   R   R   t   i(    (    s$   lib/python2.7/test/test_dictviews.pyt   test_deeply_nested_repr·   s    c         C   sŠ  t  d d ƒ } |  j | j ƒ  t j ƒ |  j | j ƒ  t j ƒ |  j | j ƒ  t j ƒ |  j | j ƒ  t j ƒ |  j | j ƒ  t j ƒ |  j | j ƒ  t j	 ƒ |  j | j
 ƒ  t j ƒ |  j | j
 ƒ  t j ƒ |  j | j
 ƒ  t j ƒ |  j | j ƒ  t j ƒ |  j | j ƒ  t j ƒ |  j | j ƒ  t j ƒ |  j | j ƒ  t j ƒ |  j | j ƒ  t j ƒ |  j | j ƒ  t j	 ƒ d  S(   NR   i   (   t   dictR#   R   t   collectionst   KeysViewt   MappingViewt   Sett   Sizedt   Iterablet	   ContainerR   t
   ValuesViewR   t	   ItemsView(   R   R   (    (    s$   lib/python2.7/test/test_dictviews.pyt   test_abc_registry½   s     c         C   sl   i d d 6d d 6} |  j  t t j | j ƒ  ƒ |  j  t t j | j ƒ  ƒ |  j  t t j | j ƒ  ƒ d  S(   Ni
   i   R   R   (   R   R   R   R   R   R   (   R   R   (    (    s$   lib/python2.7/test/test_dictviews.pyt	   test_copyÒ   s    c         C   s®   i d d 6d d 6} x“ t  t j d ƒ D]~ } |  j t t j f t j | j ƒ  | ƒ |  j t t j f t j | j ƒ  | ƒ |  j t t j f t j | j	 ƒ  | ƒ q( Wd  S(   Ni
   i   R   R   (
   R1   t   picklet   HIGHEST_PROTOCOLR   R   t   PicklingErrort   dumpsR   R   R   (   R   R   t   proto(    (    s$   lib/python2.7/test/test_dictviews.pyt   test_pickleØ   s    (   t   __name__t
   __module__R   R   R   R    R"   R(   R.   R/   R0   R6   RA   RB   RH   (    (    (    s$   lib/python2.7/test/test_dictviews.pyR      s   							&	(				c           C   s   t  j t ƒ d  S(   N(   R    t   run_unittestR   (    (    (    s$   lib/python2.7/test/test_dictviews.pyt	   test_mainã   s    t   __main__(   R   RC   R2   t   unittestR8   t   testR    t   TestCaseR   RL   RI   (    (    (    s$   lib/python2.7/test/test_dictviews.pyt   <module>   s   Û	