o
    h	                     @   sV   d Z ddlZddlmZ ejjejjgZdd Zdd Z	dd	 Z
ed
kr)e  dS dS )z-
Test some pieces of the depparse dataloader
    N)data_to_batchesc                  G   s@   g }t | D ]\}}ttd| }|g| g}|| q|S )NA)	enumeratechrordappend)lengthsdatailengthwordchunk r   c/var/www/html/env_mimamsha/lib/python3.10/site-packages/stanza/tests/depparse/test_depparse_data.pymake_fake_data	   s   r   c                 C   sh   t | |D ]\}}tdd |D |ksJ qg }| D ]}|D ]}||d d  qq||ks2J d S )Nc                 s   s    | ]	}t |d  V  qdS )r   N)len).0xr   r   r   	<genexpr>   s    z check_batches.<locals>.<genexpr>r   )zipsumr   )batched_dataexpected_sizesexpected_orderr   size
word_ordersentencer   r   r   check_batches   s   r   c                  C   s~  t ddd} t| ddddd}t|d ddgg d	 t ddd
} t| ddddd}t|d d
dgg d	 t ddd} t| ddddd}t|d ddgg d t ddd} t| ddddd}t|d ddgg d t ddd} t| ddddd}t|d g dg d t ddd} t| ddddd}t|d ddgg d t ddd} t| ddddd}t|d g dg d dS )z
    Tests the chunking of batches in eval_mode

    A few options are tested, such as whether or not to sort and the maximum sentence size
                TN)
batch_size	eval_modesort_during_evalmin_length_to_batch_separatelyr   )CBr      )r   r'   r&   )r'   r   r&   F)r    r!   r      )r   r)   r   )r   r   r   )r	   r   r   r   r   test_data_to_batches_eval_mode   s*   r*   __main__)__doc__pyteststanza.models.depparse.datar   marktravispipeline
pytestmarkr   r   r*   __name__test_data_to_batchesr   r   r   r   <module>   s    	"
