ó
æNXc           @   s“  d  Z  d d l m Z d d l m Z m Z d d l m Z m Z m	 Z	 m
 Z
 m Z m Z d d l m Z d d l m Z d e f d „  ƒ  YZ d	 Z d
 Z e rÉ e j d d ƒ Z e j d d ƒ Z n  d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(    s'   Tests for traitlets.config.configurableiÿÿÿÿ(   t   TestCase(   t   Configurablet   SingletonConfigurable(   t   Integert   Floatt   Unicodet   Listt   Dictt   Set(   t   Config(   t   PY3t   MyConfigurablec           B   sD   e  Z e d  d e d d ƒZ e d d e d d ƒZ e d ƒ Z RS(   i   t   configt   helps   The integer a.g      ð?s   The integer b.s	   no config(	   t   __name__t
   __module__R   t   Truet   aR   t   bR   t   c(    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyR      s   u«   MyConfigurable options
----------------------
--MyConfigurable.a=<Integer>
    Default: 1
    The integer a.
--MyConfigurable.b=<Float>
    Default: 1.0
    The integer b.u«   MyConfigurable options
----------------------
--MyConfigurable.a=<Integer>
    Current: 5
    The integer a.
--MyConfigurable.b=<Float>
    Current: 4.0
    The integer b.u	   <Integer>u   <Int>t   Fooc           B   s2   e  Z e d  d e d d ƒZ e d d e ƒZ RS(   i    R   R   s   The integer a.t   nope(   R   R   R   R   R   R   R   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyR   3   s   t   Barc           B   s5   e  Z e d  d e d d ƒZ e d e d d ƒ Z RS(   t   gotitR   R   s   The string b.s   The string c.(   R   R   R   t   FalseR   R   R   R   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyR   8   s   t   TestConfigurablec           B   sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C   s]   t  ƒ  } t  d | j ƒ } t  d | j ƒ } |  j | j | j ƒ |  j | j | j ƒ d  S(   NR   (   R   R   t   assertEqual(   t   selft   c1t   c2t   c3(    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_default?   s
    	c         C   sÿ   t  ƒ  } d | _ d | _ t d | ƒ } t d | j ƒ } t d | j ƒ } |  j | j | ƒ |  j | j | ƒ |  j | j | ƒ |  j | j | k ƒ |  j | j | k ƒ |  j | j | k ƒ |  j | j | j k ƒ |  j | j | j k ƒ d  S(   Nt   foot   barR   (   R	   R    R!   R   R   R   t
   assertTrue(   R   R   R   R   R   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_customF   s    			c         C   sª   t  ƒ  } d | j _ d | j _ t d | ƒ } t d | j ƒ } |  j | j | j j ƒ |  j | j | j j ƒ |  j | j | j j ƒ |  j | j | j j ƒ d  S(   Ni   g       @R   (   R	   R   R   R   R   R   (   R   R   R   R   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_inheritanceW   s    	c         C   sª   t  ƒ  } d | j _ d | j _ d | j _ d | j _ t d | ƒ } t d | j ƒ } |  j | j d ƒ |  j | j d ƒ |  j | j d ƒ |  j | j d ƒ d  S(   Ni
   t   wowt   laterg      Y@R   R   (   R	   R   R   R   R   R   R   R   (   R   R   t   fR   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_parentb   s    	c         C   sy   t  ƒ  } d | j _ d | j _ t d d d | ƒ } |  j | j d ƒ |  j | j | j j ƒ |  j | j d ƒ d  S(   Ni   g       @R   i   R   s	   no config(   R	   R   R   R   R   R   (   R   R   R   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_override1o   s    	c      	   C   sß   t  ƒ  } d | j _ d | j _ d | j _ t d | ƒ } |  j | j | j j ƒ |  j | j d ƒ |  j | j | j j ƒ t d d d d	 d
 d d | ƒ } |  j | j d ƒ |  j | j d	 ƒ |  j | j d ƒ d  S(   Ni   t   org      $@R   R   R   i   R   t   andR   g      4@(   R	   R   R   R   R   R   R   (   R   R   R   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_override2x   s    	!c         C   s   |  j  t j ƒ  t ƒ d  S(   N(   R   R   t   class_get_helpt   mc_help(   R   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt	   test_help†   s    c         C   s2   t  d d d d ƒ } |  j t  j | ƒ t ƒ d  S(   NR   i   R   i   (   R   R   R-   t   mc_help_inst(   R   t   inst(    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_help_inst‰   s    (
   R   R   R   R#   R$   R(   R)   R,   R/   R2   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyR   =   s   								t   TestSingletonConfigurablec           B   s   e  Z d  „  Z d „  Z RS(   c         C   s{   d t  f d „  ƒ  Y} |  j | j ƒ  t ƒ | j ƒ  } |  j | j ƒ  t ƒ |  j | | j ƒ  ƒ |  j t  j d  ƒ d  S(   NR   c           B   s   e  Z RS(    (   R   R   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyR   ‘   s    (   R   R   t   initializedR   t   instanceR   t	   _instancet   None(   R   R   R    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_instance   s    c         C   sÝ   d t  f d „  ƒ  Y} d | f d „  ƒ  Y} |  j | j ƒ  t ƒ |  j | j ƒ  t ƒ | j ƒ  } | | j ƒ  k |  j | j ƒ  t ƒ |  j | j ƒ  t ƒ |  j | | j ƒ |  j | | j ƒ |  j t  j d  ƒ d  S(   NR   c           B   s   e  Z RS(    (   R   R   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyR   ™   s    t   Bamc           B   s   e  Z RS(    (   R   R   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyR9   š   s    (   R   R   R4   R   R5   R   R6   R7   (   R   R   R9   t   bam(    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyR$   ˜   s    (   R   R   R8   R$   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyR3   Ž   s   	t   MyParentc           B   s   e  Z RS(    (   R   R   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyR;   ¦   s   t	   MyParent2c           B   s   e  Z RS(    (   R   R   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyR<   ©   s   t   TestParentConfigurablec           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sb   t  i i i d d 6d 6d 6ƒ } t d | ƒ } t d | ƒ } |  j | j | j j j j ƒ d  S(   Ng       @R   R   R;   R   t   parent(   R	   R;   R   R   R   R   (   R   t   cfgR>   t   myc(    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_parent_config®   s    c         C   sb   t  i i i d d 6d 6d 6ƒ } t d | ƒ } t d | ƒ } |  j | j | j j j j ƒ d  S(   Ng       @R   R   R;   R   R>   (   R	   R<   R   R   R   R   R;   (   R   R?   R>   R@   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_parent_inheritanceº   s    c         C   s‰   t  i i i i d d 6d 6d 6i d d 6d 6d 6ƒ } t d | ƒ } t d | ƒ } t d | ƒ } |  j | j | j j j j j ƒ d  S(	   Ng       @R   R   R;   g      @R<   R   R>   (   R	   R<   R;   R   R   R   R   (   R   R?   t   parent2R>   R@   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_multi_parentÆ   s    c         C   s…   t  i i d d 6d 6i i d d 6d 6d 6i i d d 6d 6d 6ƒ } t d | ƒ } t d	 | ƒ } |  j | j | j j j j ƒ d  S(
   Ng       @R   R   g      @R;   g      @R<   R   R>   (   R	   R<   R   R   R   R   (   R   R?   R>   R@   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_parent_priorityÙ   s    c         C   s³   t  i i d d 6d 6i i d d 6d 6d 6i i d d 6d 6d 6i i i d d 6d 6d 6d 6ƒ } t d	 | ƒ } t d
 | ƒ } t d
 | ƒ } |  j | j | j j j j j ƒ d  S(   Ng       @R   R   g      @R;   g      @R<   g      @R   R>   (   R	   R<   R   R   R   R   R;   (   R   R?   RC   R>   R@   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_multi_parent_priorityí   s"    (   R   R   RA   RB   RD   RE   RF   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyR=   ¬   s
   				t
   Containersc           B   sP   e  Z e d  e ƒ Z d „  Z e d  e ƒ Z d „  Z e	 d  e ƒ Z
 d „  Z RS(   R   c         C   s   d g S(   Niÿÿÿÿ(    (   R   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   _lis_default  s    c         C   s   d h S(   NR   (    (   R   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt
   _s_default  s    c         C   s   i d d 6S(   NR   R   (    (   R   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt
   _d_default  s    (   R   R   R   R   t   lisRH   R   t   sRI   R   t   dRJ   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyRG   	  s   		t   TestConfigContainersc           B   sk   e  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  ƒ  } | j j j t t d ƒ ƒ ƒ t d | ƒ } |  j | j t t d d ƒ ƒ ƒ d  S(   Ni   R   iÿÿÿÿ(   R	   RG   RK   t   extendt   listt   rangeR   (   R   R   t   obj(    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_extend  s    	c         C   sd   t  ƒ  } | j j j d d ƒ | j j j d d ƒ t d | ƒ } |  j | j d d d g ƒ d  S(   Ni    R   i   R   R   iÿÿÿÿ(   R	   RG   RK   t   insertR   (   R   R   RR   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_insert  s
    	c         C   sp   t  ƒ  } | j j j d d g ƒ | j j j d d g ƒ t d | ƒ } |  j | j d d d d d g ƒ d  S(   Ni   i   i   R   iÿÿÿÿ(   R	   RG   RK   t   prependR   (   R   R   RR   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_prepend$  s
    	c         C   sp   t  ƒ  } | j j j d d g ƒ | j j j d d g ƒ t d | ƒ } |  j | j d d d d d g ƒ d  S(   Ni   i   i   R   iÿÿÿÿ(   R	   RG   RK   RV   RO   R   (   R   R   RR   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_prepend_extend+  s
    	c         C   ss   t  ƒ  } | j j j d d g ƒ | j j j d d g ƒ t d | ƒ } |  j | j d d d g d d g ƒ d  S(   Ni   i   i   R   iÿÿÿÿ(   R	   RG   RK   t   appendRO   R   (   R   R   RR   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_append_extend2  s
    	c         C   ss   t  ƒ  } | j j j d d g ƒ | j j j d d g ƒ t d | ƒ } |  j | j d d d d d g g ƒ d  S(   Ni   i   i   R   iÿÿÿÿ(   R	   RG   RK   RO   RY   R   (   R   R   RR   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_extend_append9  s
    	c         C   sj   t  ƒ  } | j j j d d ƒ | j j j d d g ƒ t d | ƒ } |  j | j d d d d g ƒ d  S(   Ni    i   i   i   R   iÿÿÿÿ(   R	   RG   RK   RT   RO   R   (   R   R   RR   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_insert_extend@  s
    	c         C   sp   t  ƒ  } | j j j d d d h ƒ | j j j d h ƒ t d | ƒ } |  j | j d d d d d h ƒ d  S(   Ni    i   i   i   R   R   (   R	   RG   RL   t   updateR   (   R   R   RR   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_set_updateG  s
    	c         C   sx   t  ƒ  } | j j j i d d 6ƒ | j j j i d d 6ƒ t d | ƒ } |  j | j i d d 6d d 6d d 6ƒ d  S(   NRM   R   R'   t   eR   R   R   (   R	   RG   RM   R]   R   (   R   R   RR   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_dict_updateN  s
    	c         C   sœ   t  ƒ  } d | j _ t d | ƒ } |  j | j d ƒ t  ƒ  } d | j _ | j | ƒ |  j | j d ƒ d | j _ | j | ƒ |  j | j d ƒ d  S(   Ni   R   i
   i   (   R	   R   R   R   t   update_config(   R   R   t   mR   (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_update_twiceU  s    		c            s«   d t  f d „  ƒ  Y‰  d t f ‡  f d †  ƒ  Y} t ƒ  } d | j _ | ƒ  } |  j | j d ƒ ˆ  j d | ƒ } | ƒ  } |  j | j | j ƒ |  j | j d ƒ d  S(   Nt   SomeSingletonc           B   s   e  Z RS(    (   R   R   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyRd   e  s   t   DefaultConfigurablec              s&   e  Z e d  e ƒ Z ‡  f d †  Z RS(   R   c            s    ˆ  j  ƒ  r ˆ  j ƒ  j St ƒ  S(   N(   R4   R5   R   R	   (   R   (   Rd   (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   _config_defaultj  s    (   R   R   R   R   R   Rf   (    (   Rd   (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyRe   h  s   i   i    R   (	   R   R   R	   Re   R   R   R5   t   assertIsR   (   R   Re   R   t   d1t   singlet   d2(    (   Rd   s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   test_config_defaultd  s    			(   R   R   RS   RU   RW   RX   RZ   R[   R\   R^   R`   Rc   Rk   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyRN     s   										N(   t   __doc__t   unittestR    t   traitlets.config.configurableR   R   t   traitlets.traitletsR   R   R   R   R   R   t   traitlets.config.loaderR	   t   ipython_genutils.py3compatR
   R   R.   R0   t   replaceR   R   R   R3   R;   R<   R=   RG   RN   (    (    (    s`   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/traitlets/config/tests/test_configurable.pyt   <module>   s(   .	Q]