
    bi                    `   d dl mZ d dlZd dlZd dlZd dlmZ  ej                  d      Z	 e
d      D  cg c]*  }  ej                  g d       ej                  d d      d, c} Zdd	d
dddddddgdZd Zd Zd Zd Zej&                  j)                  dg d      d        Zd Zyc c} w )    )annotationsNfastavro  )fredwilmabarneybettyd   )namenumberDescrRandomtestrecordr   stringr   typer   int)docr   	namespacer   fieldsc                ^   t        |       } t        j                  j                  | d      }t	        |d      5 }t
        j                  |t        t               d d d        t        j                  |d       }|j                  dk(  sJ |j                         t        k(  sJ y # 1 sw Y   KxY w)None.avrowbrecordsschema	blocksize   strospathjoinopenr   writerexpectedr   db	read_avronpartitionscompute)tmpdirfnfbs       S/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/bag/tests/test_avro.pytest_onefile_oneblockr2      s    [F	fj	)B	b$ <18F;<
R4(A==A99;("""	< <s   !B##B,c                h   t        |       } t        j                  j                  | d      }t        j                  j                  | d      }t	        |d      5 }t
        j                  |t        d d t               d d d        t	        |d      5 }t
        j                  |t        dd  t               d d d        t        j                  t        j                  j                  | d      d       }|j                  dk(  sJ |j                         t        k(  sJ y # 1 sw Y   xY w# 1 sw Y   uxY w)	Nr   two.avror     r   *.avror      r!   r-   fn1fn2r/   r0   s        r1   test_twofile_oneblockr;   &   s    [F
'',,vz
*C
'',,vz
*C	c4 BA8DS>&AB	c4 BA8CD>&AB
RWW\\&(3tDA==A99;("""B BB Bs   $D$D(D%(D1c                ,   t        |       } t        j                  j                  | d      }t        j                  j                  | d      }t	        |d      5 }t
        j                  |t        d d t        d       d d d        t	        |d      5 }t
        j                  |t        dd  t        d       d d d        t        j                  t        j                  j                  | d      d       }|j                  d	k(  sJ |j                         t        k(  sJ t        j                  t        j                  j                  | d      d
      }|j                  d	kD  sJ |j                         t        k(  sJ y # 1 sw Y   xY w# 1 sw Y   xY w)Nr   r4   r   r5   r
   )r   r   sync_intervalr6   r   r7   r   r!   r8   s        r1   test_twofile_multiblockr>   3   s;   [F
'',,vz
*C
'',,vz
*C	c4 UA8DS>&PSTU	c4 UA8CD>&PSTU
RWW\\&(3tDA==A99;("""
RWW\\&(3tDA==199;("""U UU Us   %E=%F
=F
Fc                   ddl m} t        |       } t        j                  j                  | d      }t        j                  dD cg c]  }d|i c}d      }dd	dd
dgd}|j                  ||d      }t        |d   |      sJ |j                  ||      }t        |      dk(  sJ t        j                  |      }|j                         |j                         k(  sJ y c c}w )Nr   )Delayed	out*.avro)r    r7            ar7   r+   Testr   r   r   r   r   r   F)r,   )dask.delayedr@   r"   r#   r$   r%   r)   from_sequenceto_avro
isinstancelenr*   r,   )r-   r@   r.   ir0   r   outb2s           r1   test_roundtrip_simplerQ   D   s    $[F	fk	*B
O<q3(<!LA/0F
 ))B)
.Cc!fg&&&
))B
Cs8q==	b	B99;"**,&&& =s   C#codec)nulldeflatesnappyc                d   t        |       } |dk(  rt        j                  d       t        j                  j                  | d      }t        j                  t        d      }|j                  |t        |       t        j                  |      }|j                         |j                         k(  sJ y )NrU   rA   rB   rF   )r   rR   )r"   pytestimportorskipr#   r$   r%   r)   rJ   r(   rK   r   r*   r,   )r-   rR   r.   r0   rP   s        r1   test_roundtriprY   W   s    [FH%	fk	*B
q1AIIbuI-	b	B99;"**,&&&    c                   t        |       } t        j                  t        d      }t        j
                  j                  | d      }t        j                  t              5  |j                  |g        d d d        t        j                  t              5  |j                  |i        d d d        t        j                  t              5  |j                  |ddi       d d d        t        j                  t              5  |j                  |ddi       d d d        t        j                  t              5  |j                  |dd	d
       d d d        t        j                  t              5  |j                  |ddd
       d d d        t        j                  t              5  |j                  |ddd
       d d d        t        j                  t              5  |j                  |ddddigd       d d d        y # 1 sw Y   xY w# 1 sw Y   jxY w# 1 sw Y   @xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)NrB   rF   rA   )r   r   unknownr   r   wrongr   r   rE   rH   )r"   r)   rJ   r(   r#   r$   r%   rW   raisesAssertionErrorrK   )r-   r0   r.   s      r1   test_invalid_schemar`   c   s   [F
q1A	fk	*B	~	& !			"R	 !	~	& !			"R	 !	~	& 1			"eY/	01	~	& /			"ff-	./	~	& @			"fg>	?@	~	& A			"fh?	@A	~	& A			"fh?	@A	~	& 
			fc]OT 	 	

 
! !! !1 1/ /@ @A AA A
 
s`    HH
HH+8H80I(I IHHH(+H58IIII%)
__future__r   r#   randomrW   dask.bagbagr)   rX   r   rangechoicerandintr(   r   r2   r;   r>   rQ   markparametrizerY   r`   )_s   0r1   <module>rk      s    " 	   6z* 4[
 	
 BC &..C( 1He3TU
#
##"'& "?@' A'
os   /B+