B
    .(b                 @   s|   d dl mZ d dlZd dlmZmZ d dlmZmZm	Z	m
Z
mZmZmZ d dlmZ d dlZddlmZ dd	 Zd
d ZdS )    )unicode_literalsN)HEADDEP)nsubjdobjamodnmodconjccroot)SYNTAX_ITERATORS   )get_docc          	   C   s2   | d}d|_ tt t|j W dQ R X dS )zTest that noun_chunks raises Value Error for 'en' language if Doc is not parsed.
    To check this test, we're constructing a Doc
    with a new Vocab here and forcing is_parsed to 'False'
    to make sure the noun chunks don't run.
    zThis is a sentenceFN)Z	is_parsedpytestZraises
ValueErrorlistnoun_chunks)Zen_tokenizerdoc r   S/home/dcms/DCMS/lib/python3.7/site-packages/spacy/tests/lang/en/test_noun_chunks.pytest_noun_chunks_is_parsed   s    r   c       	      C   s  dddddddg}dd	d
ddddg}dddddddg}t | |||d}|ttgtjdtgd	tgd
tgdt	gdt
gdtgdtggdd td |_i }x<|jD ]2}x,|D ]$}||jd	 ||j  d7  < qW qW x4| D ](\}}|dkst|dd |jD fqW d S )NZPeterZhasZchroniccommandandcontrolZissues   r      r   r   ROOTr   r   r
   r	   r   )wordsheadsdepsZuint64)Zdtyper   c             S   s   g | ]
}|j qS r   )text).0chunkr   r   r   
<listcomp>6   s    z2test_en_noun_chunks_not_nested.<locals>.<listcomp>)r   Z
from_arrayr   r   numpyZasarrayr   r   r   r   r
   r	   r   r   Znoun_chunks_iteratorr   
setdefaultr#   itemsAssertionError)	Zen_vocabr    r!   r"   r   Zword_occurredr%   wordfreqr   r   r   test_en_noun_chunks_not_nested   s.    


r-   )
__future__r   r'   Zspacy.attrsr   r   Zspacy.symbolsr   r   r   r   r	   r
   r   Zspacy.lang.en.syntax_iteratorsr   r   utilr   r   r-   r   r   r   r   <module>   s   $