ó
šxŠ\c           @   sª  d  d l  m Z d  d l Z d  d l m Z d  d l Z d  d l m Z d  d l	 Z
 d  d l	 m Z m Z m Z d  d l m Z d  d l m Z d  d l m Z y' e i d	 d
 g d 6ƒ j ƒ  d	 Z Wn e e f k
 ræ d Z n Xd „  Z e j d d d d d d d d d d g	 ƒ d „  ƒ Z e j d „  ƒ Z e j j d „  ƒ Z e j j  e j j e j j! e d d ƒe j j" d ƒ d e# f d „  ƒ  Yƒ ƒ ƒ ƒ Z$ d S(    iÿÿÿÿ(   t   dedentN(   t   randint(   t   PY2(   t	   DataFramet
   get_optiont   read_clipboard(   t   testing(   t   makeCustomDataframe(   t   PyperclipExceptioni   i   t   Ai    c         C   s<   i  } | d k r | | d <n  |  d k r8 |  | d <n  | S(   Nt   defaultt   excelt   sep(    (   R   R   t   kwargs(    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   build_kwargs   s    t   paramst   delimst   utf8t   stringt   longt   nonasciit   colwidtht   mixedt   floatt   intc            sV  |  j  } | d k r< t j i d d g d 6d d g d 6ƒ S| d k ro t j i d	 d
 g d 6d d g d 6ƒ S| d k r¦ t d d d d d d d d  g d d  g ƒS| d k rö t d ƒ } t | d d d d „  d d d d d d  g d d  g ƒS| d k r)t j i d j ƒ  d 6d j ƒ  d 6ƒ S| d  k rt d! ƒ d ‰  t d d d ‡  f d" †  d d d d d d  g d d  g ƒS| d# k rÌt i t j d$ d% ƒ d& d 6t j d d' ƒ d 6t	 d( ƒ d) 6ƒ S| d* k rt d d d d+ „  d d d d d d  g d d  g ƒS| d, k rLt d d d d- „  d d d d d d  g d d  g ƒSt
 ‚ d  S(.   NR   s   "a,	"b|cs   d	efÂ´t   as   hi'js   k''lmt   bR   s   Âµasds	   Î©Å“âˆ‘Â´s   Ã¸Ï€âˆ†ËšÂ¬s	   Å“âˆ‘Â´Â®R   i   i   t
   c_idx_typet   st
   r_idx_typet   it   c_idx_namest   r_idx_namesR   s   display.max_rowsi   t
   data_gen_fc          W   s
   t  d ƒ S(   Ni   (   R   (   t   args(    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   <lambda>2   s    R   s
   in Englisht   ens   en espaÃ±olt   esR   s   display.max_colwidthc             s   d ˆ  S(   Nt   x(    (   R"   (   t   _cw(    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyR#   :   s    R   g      ð?g      @g{®Gáz„?i   t   abcdet   cR   c         S   s   t  |  ƒ d S(   Ng{®Gáz„?(   R   (   t   rR)   (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyR#   B   s    R   c          W   s
   t  d ƒ S(   Ni   (   R   (   R"   (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyR#   F   s    (   t   paramt   pdR   t   mkdft   NoneR   t   splitt   npt   aranget   listt
   ValueError(   t   requestt	   data_typet   max_rows(    (   R'   s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   df!   sJ    		c         #   sS   i  ‰  ‡  ‡ f d †  } ‡  ‡ f d †  } |  j  d | ƒ |  j  d | ƒ ˆ  Vd S(   sM  Fixture mocking clipboard IO.

    This mocks pandas.io.clipboard.clipboard_get and
    pandas.io.clipboard.clipboard_set.

    This uses a local dict for storing data. The dictionary
    key used is the test ID, available with ``request.node.name``.

    This returns the local dictionary, for direct manipulation by
    tests.
    c            s   |  ˆ  ˆ j  j <d  S(   N(   t   nodet   name(   t   data(   t
   _mock_dataR4   (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt	   _mock_set^   s    c              s   ˆ  ˆ j  j S(   N(   R8   R9   (    (   R;   R4   (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt	   _mock_geta   s    s!   pandas.io.clipboard.clipboard_sets!   pandas.io.clipboard.clipboard_getN(   t   setattr(   t   monkeypatchR4   R<   R=   (    (   R;   R4   s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   mock_clipboardM   s    c         C   se   d d  l  } | j j j d ƒ d t |  j ƒ  ƒ k s= t ‚ | j j j ƒ  } | d k sa t ‚ d  S(   Niÿÿÿÿt   abc(   t   pandas.io.clipboardt   iot	   clipboardt   clipboard_sett   sett   valuest   AssertionErrort   clipboard_get(   R@   t   pandast   result(    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   test_mock_clipboardj   s
    t   reasons"   clipboard primitives not installedR@   t   TestClipboardc           B   s  e  Z d d d d  „ Z d „  Z e j j d d d d g ƒ d „  ƒ Z d „  Z	 d „  Z
 d	 „  Z e j j d d d d
 g ƒ e j j d e d d
 g ƒ d „  ƒ ƒ Z e j j d d d
 g ƒ e j j d e g ƒ d „  ƒ ƒ Z d „  Z d „  Z e j j d d d d g ƒ d „  ƒ Z RS(   c         C   sW   | j  d | d | d | ƒ t d | p+ d d d d | ƒ } t j | | d t ƒd  S(   NR   R   t   encodings   	t	   index_coli    t   check_dtype(   t   to_clipboardR   t   tmt   assert_frame_equalt   False(   t   selfR:   R   R   RO   RK   (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   check_round_trip_framez   s    	c         C   s   |  j  | ƒ d  S(   N(   RW   (   RV   R7   (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   test_round_trip_frame‚   s    R   s   	t   ,t   |c         C   s   |  j  | d | ƒd  S(   NR   (   RW   (   RV   R7   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   test_round_trip_frame_sep†   s    c         C   sY   | j  d t d d  ƒ t ƒ  } | j ƒ  | j ƒ  k s= t ‚ | j | j k sU t ‚ d  S(   NR   R   (   RR   RU   R.   R   t	   to_stringRH   t   shape(   RV   R7   RK   (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   test_round_trip_frame_string‹   s    	c      	   C   s-   t  j ƒ   | j d t d d ƒ Wd  QXd  S(   NR   R   s   \t(   RS   t   assert_produces_warningRR   t   True(   RV   R7   (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   test_excel_sep_warning“   s    c      	   C   s-   t  j ƒ   | j d t d d ƒ Wd  QXd  S(   NR   R   s   	(   RS   R_   RR   RU   (   RV   R7   (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   test_copy_delim_warning˜   s    R
   R   c   	      C   sŽ   t  | | ƒ } | j |   t rb | | j j j d ƒ } | j d d ƒ } | | k sŠ t ‚ n( | | j j | j d d ƒ k sŠ t ‚ d  S(   Ns   utf-8R   s   	(   R   RR   R   R8   R9   t   encodet   to_csvRH   (	   RV   R   R   R7   R4   R@   R   RK   t   expected(    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt    test_clipboard_copy_tabs_defaultž   s    c         C   se   t  | | ƒ } | j |   t d d ƒ } | j ƒ  | j ƒ  k sI t ‚ | j | j k sa t ‚ d  S(   NR   s   \s+(   R   RR   R   R\   RH   R]   (   RV   R   R   R7   R   RK   (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   test_clipboard_copy_strings®   s
    c         C   sÓ   t  d d ƒ } t d j ƒ  ƒ } | | | j j <t j |   } | j d d d k s] t ‚ t d j ƒ  ƒ } | | | j j <t j |   } t d j ƒ  ƒ } | | | j j <t j |   } t	 j
 | | ƒ d  S(   Nt   enginet   pythons^   
            John James	Charlie Mingus
            1	2
            4	Harry Carney
            i   s   Harry Carneys@   
            a	 b
            1  2
            3  4
            s@   
            a  b
            1  2
            3  4
            (   t   dictR    t   stripR8   R9   R,   R   t   ilocRH   RS   RT   (   RV   R4   R@   t   clip_kwargst   textR7   t   rest   exp(    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   test_read_clipboard_infer_excel·   s    c         C   sP   t  j t ƒ  | j d d ƒ Wd  QXt  j t ƒ  t j d d ƒ Wd  QXd  S(   NRO   t   ascii(   t   pytestt   raisesR3   RR   t   NotImplementedErrorR,   R   (   RV   R7   (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   test_invalid_encodingÚ   s    t   encs   UTF-8s   utf-8R   c         C   s   |  j  | d | ƒd  S(   NRO   (   RW   (   RV   Rw   R7   (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   test_round_trip_valid_encodingsá   s    N(   t   __name__t
   __module__R.   RW   RX   Rs   t   markt   parametrizeR[   R^   Ra   Rb   R`   Rf   RU   Rg   Rq   Rv   Rx   (    (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyRN   s   s   	'			*$	#	(%   t   textwrapR    t   numpyR0   t   numpy.randomR   Rs   t   pandas.compatR   RJ   R,   R   R   R   t   pandas.utilR   RS   t   pandas.util.testingR   R-   t   pandas.io.clipboard.exceptionsR   RR   t   _DEPS_INSTALLEDt   RuntimeErrorR   t   fixtureR7   R@   R{   RD   RL   t   singlet   skipift   usefixturest   objectRN   (    (    (    s=   lib/python2.7/site-packages/pandas/tests/io/test_clipboard.pyt   <module>   s2   

		+			