ó
¦–Õ\c           @   s3  d  d l  Z  d  d l Z d  d l Z d  d l j Z e j d ƒ Z g  e d ƒ D]; Z	 i e j
 d d d d g ƒ d 6e j d	 d
 ƒ d 6^ qO Z i d d 6d d 6d d 6d d 6i d d 6d d 6i d d 6d d 6g d 6Z d „  Z d „  Z d „  Z d „  Z e j j d d d d g ƒ d „  ƒ Z d „  Z d S(    iÿÿÿÿNt   fastavroiè  t   fredt   wilmat   barneyt   bettyt   namei    id   t   numbert   Descrt   doct   Randomt   testt	   namespacet   recordt   typet   stringt   intt   fieldsc      
   C   s˜   t  |  ƒ }  t j j |  d ƒ } t | d ƒ   } t j | d t d t ƒWd  QXt	 j
 | d d  ƒ} | j d k s| t ‚ | j ƒ  t k s” t ‚ d  S(   Ns   one.avrot   wbt   recordst   schemat	   blocksizei   (   t   strt   ost   patht   joint   openR    t   writert   expectedR   t   dbt	   read_avrot   Nonet   npartitionst   AssertionErrort   compute(   t   tmpdirt   fnt   ft   b(    (    s7   lib/python2.7/site-packages/dask/bag/tests/test_avro.pyt   test_onefile_oneblock   s    c         C   sõ   t  |  ƒ }  t j j |  d ƒ } t j j |  d ƒ } t | d ƒ $ } t j | d t d  d t ƒWd  QXt | d ƒ $ } t j | d t d d t ƒWd  QXt	 j
 t j j |  d ƒ d d  ƒ} | j d	 k sÙ t ‚ | j ƒ  t k sñ t ‚ d  S(
   Ns   one.avros   two.avroR   R   iô  R   s   *.avroR   i   (   R   R   R   R   R   R    R   R   R   R   R   R   R   R    R!   (   R"   t   fn1t   fn2R$   R%   (    (    s7   lib/python2.7/site-packages/dask/bag/tests/test_avro.pyt   test_twofile_oneblock   s    ##$c         C   sR  t  |  ƒ }  t j j |  d ƒ } t j j |  d ƒ } t | d ƒ * } t j | d t d  d t d d ƒWd  QXt | d ƒ * } t j | d t d d t d d ƒWd  QXt	 j
 t j j |  d	 ƒ d
 d  ƒ} | j d k så t ‚ | j ƒ  t k sý t ‚ t	 j
 t j j |  d	 ƒ d
 d ƒ} | j d k s6t ‚ | j ƒ  t k sNt ‚ d  S(   Ns   one.avros   two.avroR   R   iô  R   t   sync_intervalid   s   *.avroR   i   iè  (   R   R   R   R   R   R    R   R   R   R   R   R   R   R    R!   (   R"   R'   R(   R$   R%   (    (    s7   lib/python2.7/site-packages/dask/bag/tests/test_avro.pyt   test_twofile_multiblock,   s    $$c         C   s'  d d l  m } t |  ƒ }  t j j |  d ƒ } t j g  d d d d d g D] } i | d	 6^ qM d
 d ƒ} i d d 6d d 6i d	 d 6d d 6g d 6} | j | | d t	 ƒ} t
 | d | ƒ sÌ t ‚ | j | | ƒ } t | ƒ d k sö t ‚ t j | ƒ } | j ƒ  | j ƒ  k s#t ‚ d  S(   Niÿÿÿÿ(   t   Delayeds	   out*.avroi   i   i   i   i   t   aR   t   TestR   R   R   R   R   R!   i    (   t   dask.delayedR,   R   R   R   R   R   t   from_sequencet   to_avrot   Falset
   isinstanceR    t   lenR   R!   (   R"   R,   R#   t   iR%   R   t   outt   b2(    (    s7   lib/python2.7/site-packages/dask/bag/tests/test_avro.pyt   test_roundtrip_simple?   s    >t   codect   nullt   deflatet   snappyc         C   sœ   t  |  ƒ }  | d k r( t j d ƒ n  t j j |  d ƒ } t j t d d ƒ} | j	 | d t
 d | ƒt j | ƒ } | j ƒ  | j ƒ  k s˜ t ‚ d  S(   NR<   s	   out*.avroR   i   R   R9   (   R   t   pytestt   importorskipR   R   R   R   R0   R   R1   R   R   R!   R    (   R"   R9   R#   R%   R7   (    (    s7   lib/python2.7/site-packages/dask/bag/tests/test_avro.pyt   test_roundtripQ   s    c         C   sÙ  t  |  ƒ }  t j t d d ƒ} t j j |  d ƒ } t j t	 ƒ  | j
 | d g  ƒWd  QXt j t	 ƒ  | j
 | d i  ƒWd  QXt j t	 ƒ  | j
 | d i d d 6ƒWd  QXt j t	 ƒ  | j
 | d i d d 6ƒWd  QXt j t	 ƒ & | j
 | d i d d 6d	 d
 6ƒWd  QXt j t	 ƒ & | j
 | d i d d 6d d
 6ƒWd  QXt j t	 ƒ & | j
 | d i d d 6d d
 6ƒWd  QXt j t	 ƒ 7 | j
 | d i d d 6d d
 6i d d 6g d 6ƒWd  QXd  S(   NR   i   s	   out*.avroR   t   unknownR   R
   R   t   wrongR   R   R-   R   (   R   R   R0   R   R   R   R   R=   t   raisesR    R1   (   R"   R%   R#   (    (    s7   lib/python2.7/site-packages/dask/bag/tests/test_avro.pyt   test_invalid_schema]   s(      '''(   R   R=   t   randomt   dask.bagt   bagR   R>   R    t   ranget   _t   choicet   randintR   R   R&   R)   R+   R8   t   markt   parametrizeR?   RC   (    (    (    s7   lib/python2.7/site-packages/dask/bag/tests/test_avro.pyt   <module>   s&   K	
			'