o
    i                     @   s>   d dl Z d dlmZ e jdd Zdd Zdd Zd	d
 ZdS )    NDocc                 C   s2   g d}g d}g d}g d}t | ||||dS )N)Peterhaschroniccommandandcontrolissues)   r      r      r   r   )nsubjROOTamodnmodccconjdobj)PROPNVERBADJNOUNCCONJr   r   )wordsheadsdepsposr   )en_vocabr   r   r   r    r   X/home/ubuntu/.local/lib/python3.10/site-packages/spacy/tests/lang/en/test_noun_chunks.pydoc   s
   r!   c                 C   sB   | d}t t t|j W d   dS 1 sw   Y  dS )zPTest that noun_chunks raises Value Error for 'en' language if Doc is not parsed.zThis is a sentenceN)pytestraises
ValueErrorlistnoun_chunks)en_tokenizerr!   r   r   r    test_noun_chunks_is_parsed   s   "r(   c                 C   s   i }t | j}t|dksJ |D ]}|D ]}||jd ||j  d7  < qqt|dks1J | D ]\}}|dksIJ |dd | jD fq5dS )z;Test that each token only appears in one noun chunk at mostr   r   c                 S   s   g | ]}|j qS r   )text).0chunkr   r   r    
<listcomp>!   s    z2test_en_noun_chunks_not_nested.<locals>.<listcomp>N)r%   r&   len
setdefaultr)   items)r!   r   word_occurredchunksr+   wordfreqr   r   r    test_en_noun_chunks_not_nested   s   
"r4   c                 C   sz   t | j}| dd }t |j}dt|  k rt|k s"J  J |D ]}||v s,J |jdks3J |jdks:J q$dS )z7Test that the span.noun_chunks property works correctlyr   r   N)r%   r&   r-   startend)r!   r'   
doc_chunksspanspan_chunksr+   r   r   r    test_noun_chunks_span$   s   

$r:   )r"   spacy.tokensr   fixturer!   r(   r4   r:   r   r   r   r    <module>   s    
