ó
šxŠ\c           @   s>   d  d l  Z  d  d l Z d  d l Z d e f d „  ƒ  YZ d S(   iÿÿÿÿNt
   TestConfigc           B   sæ   e  Z e 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 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   st   d d l  m } t j j |  _ | t |  j d ƒ ƒ |  _ | t |  j d ƒ ƒ |  _ | t |  j d ƒ ƒ |  _	 d  S(   Niÿÿÿÿ(   t   deepcopyt   _global_configt   _deprecated_optionst   _registered_options(
   t   copyR   t   pdt   coret   configt   cft   getattrt   gct   dot   ro(   t   clsR   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   setup_class   s
    c         C   su   t  |  j d i  ƒ t  |  j d |  j j |  j j ƒ ƒ t  |  j d i  ƒ t  |  j d i  ƒ |  j j d d ƒ d  S(   NR   t   optionsR   R   t   chained_assignmentt   raise(   t   setattrR	   t   DictWrapperR   t   register_option(   t   selft   method(    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   setup_method   s    c         C   sF   t  |  j d |  j ƒ t  |  j d |  j ƒ t  |  j d |  j ƒ d  S(   NR   R   R   (   R   R	   R   R   R   (   R   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   teardown_method!   s    c         C   sX   t  t d ƒ s t ‚ t  t d ƒ s* t ‚ t  t d ƒ s? t ‚ t  t d ƒ sT t ‚ d  S(   Nt
   get_optiont
   set_optiont   reset_optiont   describe_option(   t   hasattrR   t   AssertionError(   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_api&   s    c         C   sC   |  j  j d  d g ƒ } | d ƒ | d  ƒ t j t | d ƒ d  S(   Ni   gš™™™™™ñ?(   R	   t   is_one_of_factoryt   Nonet   pytestt   raisest
   ValueError(   R   t   v(    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_is_one_of_factory.   s    

c         C   s÷   |  j  j d d d ƒ t j t |  j  j d d d ƒ t j t |  j  j d d d ƒ t j t |  j  j d d d ƒ t j t |  j  j d d ƒ t j t |  j  j d d ƒ t j t |  j  j d	 d ƒ |  j  j d
 d d ƒ |  j  j d d d ƒ d  S(   Nt   ai   t   docs   a.b.c.d1s   a.b.c.d2t   fori    s   a.for.bs   Oh my Goddess!s   k.b.c.d1s   k.b.c.d2(   R	   R   R#   R$   t   KeyErrorR%   (   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_register_option5   s    
c         C   sª  |  j  j d d d ƒ |  j  j d d d ƒ |  j  j d ƒ |  j  j d d d ƒ |  j  j d d d	 ƒ |  j  j d
 d ƒ |  j  j d d ƒ |  j  j d d ƒ |  j  j d d d ƒ|  j  j d d ƒ t j t |  j  j d ƒ d |  j  j d d t ƒk st ‚ d |  j  j d d t ƒk s+t ‚ d |  j  j d d t ƒk sOt ‚ d |  j  j d d t ƒk sst ‚ d	 |  j  j d d t ƒk s—t ‚ d |  j  j d
 d t ƒk s»t ‚ d |  j  j d d t ƒk sßt ‚ d |  j  j d d t ƒk st ‚ d |  j  j d d t ƒk s't ‚ d |  j  j d d t ƒk sKt ‚ d |  j  j d d t ƒk sot ‚ |  j  j	 d d ƒ d |  j  j d d t ƒk s¦t ‚ d  S(   NR(   i   R)   t   bt   doc2s   c.d.e1t   doc3s   c.d.e2t   doc4t   fs   g.ht   ki   t   rkeyt   lt   foos   no.such.keyt   _print_desct   precatedt   vailablet   bar(
   R	   R   t   deprecate_optionR#   R$   R+   R   t   FalseR   R   (   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_describe_optionO   s0    $$$$$$$$$$$c         C   sÎ   |  j  j d d d ƒ d |  j  j d d t ƒk s: t ‚ |  j  j d ƒ d k sX t ‚ |  j  j d d ƒ |  j  j d	 ƒ d k s‰ t ‚ t j t	 |  j  j d
 ƒ |  j  j
 d ƒ |  j  j d	 ƒ sÊ t ‚ d  S(   Nt   KanBANi   R)   t   kanbaNR6   t   kanBaNt   KanBani   t   kAnBaNt   no_such_option(   R	   R   R   R;   R   R   R   R#   R$   R+   R:   t   _is_deprecated(   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_case_insensitivet   s    $c         C   s¹   |  j  j d d d ƒ |  j  j d d d ƒ |  j  j d d  d ƒ |  j  j d ƒ d k s` t ‚ |  j  j d ƒ d k s~ t ‚ |  j  j d ƒ d  k sœ t ‚ t j t |  j  j d ƒ d  S(	   NR(   i   R)   s   b.ct   hulloR.   s   b.bRB   (   R	   R   R"   R   R   R#   R$   R+   (   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_get_option‚   s    c         C   sO  |  j  j d d d ƒ |  j  j d d d ƒ |  j  j d d  d ƒ |  j  j d ƒ d k s` t ‚ |  j  j d ƒ d k s~ t ‚ |  j  j d ƒ d  k sœ t ‚ |  j  j d d ƒ |  j  j d d	 ƒ |  j  j d d
 ƒ |  j  j d ƒ d k só t ‚ |  j  j d ƒ d	 k st ‚ |  j  j d ƒ d
 k s/t ‚ t j t |  j  j d d  ƒ d  S(   NR(   i   R)   s   b.cRE   R.   s   b.bi   t   wurldgš™™™™™ñ?s   no.such.key(	   R	   R   R"   R   R   R   R#   R$   R+   (   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_set_option   s    c         C   s   t  j t |  j j ƒ d  S(   N(   R#   R$   R%   R	   R   (   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_set_option_empty_args¢   s    c         C   s#   t  j t |  j j d d d ƒ d  S(   Ns   a.bi   s   b.c(   R#   R$   R%   R	   R   (   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_set_option_uneven_args¥   s    c         C   s   t  j t |  j j d ƒ d  S(   Ni   (   R#   R$   R%   R	   R   (   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt,   test_set_option_invalid_single_argument_type¨   s    c         C   s  |  j  j d d d ƒ |  j  j d d d ƒ |  j  j d d  d ƒ |  j  j d ƒ d k s` t ‚ |  j  j d ƒ d k s~ t ‚ |  j  j d ƒ d  k sœ t ‚ |  j  j d d d d  d d	 ƒ |  j  j d ƒ d k sÙ t ‚ |  j  j d ƒ d  k s÷ t ‚ |  j  j d ƒ d	 k st ‚ d  S(
   NR(   i   R)   s   b.cRE   R.   s   b.bt   2g      $@(   R	   R   R"   R   R   R   (   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_set_option_multiple«   s    c         C   so  |  j  j d d d d |  j  j ƒ|  j  j d d d d |  j  j ƒt j t |  j  j d d	 d d |  j  j ƒ|  j  j d d
 ƒ |  j  j d d ƒ t j t |  j  j d d  ƒ t j t |  j  j d d ƒ t j t |  j  j d d ƒ |  j  j	 d  |  j  j
 g ƒ } |  j  j d d „  d d | ƒ|  j  j d d j ƒ |  j  j d d  ƒ t j t |  j  j d d ƒ d  S(   NR(   i   R)   t	   validators   b.cRE   R.   s   a.b.c.d2t   NOi   RG   t   abR-   c           S   s   d  S(   N(   R"   (    (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   <lambda>Ê   s    s   %.1f(   R	   R   t   is_intt   is_textR#   R$   R%   R   R"   R!   t   is_callablet   format(   R   RN   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_validationº   s"    "c         C   s~  |  j  j d d d d |  j  j ƒ|  j  j d d d d |  j  j ƒ|  j  j d ƒ d k sb t ‚ |  j  j d ƒ d k s€ t ‚ |  j  j d d ƒ |  j  j d d	 ƒ |  j  j d ƒ d k sÄ t ‚ |  j  j d ƒ d	 k sâ t ‚ |  j  j d ƒ |  j  j d ƒ d k st ‚ |  j  j d ƒ d	 k s.t ‚ |  j  j d ƒ |  j  j d ƒ d k s\t ‚ |  j  j d ƒ d k szt ‚ d  S(
   NR(   i   R)   RN   s   b.cRE   R.   i   RG   (   R	   R   RR   t   is_strR   R   R   R   (   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_reset_optionÐ   s    "c         C   s2  |  j  j d d d d |  j  j ƒ|  j  j d d d d |  j  j ƒ|  j  j d ƒ d k sb t ‚ |  j  j d ƒ d k s€ t ‚ |  j  j d d ƒ |  j  j d d	 ƒ |  j  j d ƒ d k sÄ t ‚ |  j  j d ƒ d	 k sâ t ‚ |  j  j d
 ƒ |  j  j d ƒ d k st ‚ |  j  j d ƒ d k s.t ‚ d  S(   NR(   i   R)   RN   s   b.cRE   R.   i   RG   t   all(   R	   R   RR   RW   R   R   R   R   (   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_reset_option_allã   s    "c         C   s  |  j  j d ƒ |  j  j d ƒ s( t ‚ t j d t ƒ t } t j d ƒ t j	 t
 d d ƒ |  j  j d ƒ Wd  QXt | ƒ d k sŽ t ‚ d t | d ƒ k sª t ‚ Wd  QX|  j  j d	 d d
 d |  j  j ƒ|  j  j d d d ƒ |  j  j d d d ƒ |  j  j d	 d d ƒt j d t ƒ  } t j d ƒ |  j  j d	 ƒ t | ƒ d k s^t ‚ d t | d ƒ k szt ‚ d t | d ƒ k s–t ‚ t j	 t
 |  j  j d	 ƒ Wd  QX|  j  j d d ƒ t j d t ƒ X } t j d ƒ |  j  j d ƒ t | ƒ d k st ‚ d t | d ƒ k s.t ‚ Wd  QX|  j  j d d d ƒ |  j  j d d d ƒ |  j  j d ƒ d k s~t ‚ |  j  j d ƒ d k sœt ‚ |  j  j d d d ƒt j d t ƒ f } t j d ƒ |  j  j d ƒ d k sòt ‚ t | ƒ d k s
t ‚ d t | d ƒ k s&t ‚ Wd  QXt j d t ƒ [ } t j d ƒ |  j  j d d ƒ t | ƒ d k syt ‚ d t | d ƒ k s•t ‚ Wd  QXt j d t ƒ f } t j d ƒ |  j  j d ƒ d k sÛt ‚ t | ƒ d k sót ‚ d t | d ƒ k st ‚ Wd  QXd  S(   NR5   t   recordt   alwayst   matchs   No such keys.s.: 'foo'i   t
   deprecatediÿÿÿÿR(   R)   RN   s   b.cRE   R.   t   removal_vert	   nifty_vert	   eprecateds   zounds!s   d.as   d.depR9   R3   t   baz(   R	   R:   RC   R   t   warningst   catch_warningst   Truet   simplefilterR#   R$   R+   R   t   lent   strR   RR   R   (   R   t   w(    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_deprecate_optionó   s`    
"""""c         C   sà  |  j  j d ƒ Ï |  j  j d d d ƒ |  j  j d d d ƒ |  j  j d ƒ d k s] t ‚ |  j  j d ƒ d k s{ t ‚ |  j  j d d ƒ |  j  j d d	 ƒ |  j  j d ƒ d k s¿ t ‚ |  j  j d ƒ d	 k sÝ t ‚ Wd  QX|  j  j d
 ƒ d k st ‚ |  j  j d ƒ d	 k st ‚ d |  j  j d
 d t ƒk sCt ‚ d |  j  j d d t ƒk sgt ‚ |  j  j d
 ƒ |  j  j d ƒ |  j  j d ƒ A |  j  j d ƒ d k s¸t ‚ |  j  j d ƒ d k sÖt ‚ Wd  QXd  S(   Nt   baseR(   i   t   doc1R-   i   R.   i   i   s   base.as   base.bR6   (	   R	   t   config_prefixR   R   R   R   R   R;   R   (   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_config_prefix5  s$    $$$c            s+  d  g ‰  d  g ‰ ‡  ‡ ‡ f d †  } ˆ j j d d d | ƒˆ j j d d d | ƒˆ  d =ˆ d =ˆ j j d d ƒ ˆ  d d k s t ‚ ˆ d d k s¦ t ‚ ˆ  d =ˆ d =ˆ j j d d ƒ ˆ  d d k sÝ t ‚ ˆ d d k só t ‚ ˆ  d =ˆ d =ˆ j j d ƒ ˆ  d d k s't ‚ d  S(	   Nc            s*   ˆ  j  |  ƒ ˆ j  ˆ j j |  ƒ ƒ d  S(   N(   t   appendR	   R   (   t   key(   R2   R   R&   (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   callbackQ  s    s   d.aR5   t   cbs   d.biÿÿÿÿt   foozt   boo(   R"   R	   R   R   R   R   (   R   Rq   (    (   R2   R   R&   s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_callbackM  s     		c      
      s­   ‡  f d †  } ˆ  j  j d d ƒ | d ƒ ˆ  j  j d d ƒ ? | d ƒ ˆ  j  j d d ƒ  | d ƒ Wd  QX| d ƒ Wd  QX| d ƒ ˆ  j  j d d ƒ | d ƒ d  S(   Nc            s"   ˆ  j  j d ƒ |  k s t ‚ d  S(   NR(   (   R	   R   R   (   t   val(   R   (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   eqg  s    R(   i    i   i   i   (   R	   R   t   option_contextR   (   R   Rw   (    (   R   s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_set_ContextManagerf  s    


c            sQ  g  ‰  ‡ f d †  } ‡ f d †  } ‡  f d †  } |  j  j d d ƒ |  j  j d d d | ƒ|  j  j ‰ ˆ j d k s€ t ‚ |  j  j d d ƒ  ˆ j d k s« t ‚ Wd  QXd	 ˆ _ |  j  j d ƒ d	 k sØ t ‚ |  j  j d ƒ ˆ j |  j  j d d ƒ k st ‚ t j	 t
 | ƒ t j	 t
 | ƒ d
 ˆ _ t ˆ  ƒ d
 k sMt ‚ d  S(   Nc              s   d ˆ  _  d  S(   Ni   (   R-   (    (   R   (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyR1   y  s    c              s   d ˆ  _  d  S(   Ni   (   t   display(    (   R   (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   f2|  s    c            s   ˆ  j  t ƒ d  S(   N(   Ro   Re   (   Rp   (   t   holder(    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   f3  s    R(   i    t   cRr   i   iô  i   (   R	   R   R   R(   R   Rx   R   R   R#   R$   R+   R~   Rg   (   R   R1   R{   R}   (    (   R|   R   s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_attribute_accessv  s$    	$	c         C   s¥   d } d } d } |  j  j | | ƒ |  j  j | | ƒ } |  j  j | ƒ | k sX t ‚ | # |  j  j | ƒ | k s} t ‚ Wd  QX|  j  j | ƒ | k s¡ t ‚ d  S(   Ni<   i
   R(   (   R	   R   Rx   R   R   (   R   t   original_valuet   context_valuet   option_namet   ctx(    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_option_context_scope—  s    $c         C   sB   |  j  j } t j |  j  j t | d ƒ t | d ƒ s> t ‚ d  S(   Nt   bananas(   R	   R   R#   R$   t   OptionErrorR
   R   R   (   R   R   (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   test_dictwrapper_getattr­  s    (   t   __name__t
   __module__t   classmethodR   R   R   R    R'   R,   R<   RD   RF   RH   RI   RJ   RK   RM   RV   RX   RZ   Rj   Rn   Ru   Ry   R   R„   R‡   (    (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyR    	   s0   							%											B				!	(   Rc   R#   t   pandasR   t   objectR    (    (    (    s7   lib/python2.7/site-packages/pandas/tests/test_config.pyt   <module>   s   