B
    .(b;                 @   s   d dl mZ d dlZddlmZmZ dd Zejjej	ddgd	d
 Z
ejjdd Zdd Zdd Zejjdd Zdd ZdS )    )unicode_literalsN   )get_docapply_transition_sequencec             C   sn   d}ddddddg}ddd	d
ddg}| |}t |jdd |D ||d}x |D ]}|jdksNt|jqNW d S )Nzi don't have other assistance   r      r   nsubjZauxnegROOTZamodZdobjc             S   s   g | ]
}|j qS  )text).0tr   r   L/home/dcms/DCMS/lib/python3.7/site-packages/spacy/tests/parser/test_parse.py
<listcomp>   s    z$test_parser_root.<locals>.<listcomp>)wordsheadsdeps)r   vocabdepAssertionErrorr   )en_tokenizerr   r   r   tokensdocr   r   r   r   test_parser_root	   s    
r   r   ZHelloc          	   C   sd   | |}t |jdd |D dgdgd}t|dks8t||}W d Q R X |d jdks`td S )Nc             S   s   g | ]
}|j qS r   )r   )r   r   r   r   r   r      s    z7test_parser_parse_one_word_sentence.<locals>.<listcomp>r   r   )r   r   r   r   )r   r   lenr   Zstep_throughr   )r   	en_parserr   r   r   _r   r   r   #test_parser_parse_one_word_sentence   s    
r   c             C   sv   d}dddg}| |}t ||| |d jjdks6t|d jjdksJt|d jjdks^t|d jjdksrtd S )	NzI ate the pizza with anchovies.zL-nsubjSzL-detr   r   r   r   )r   headir   )r   r   r   
transitionr   r   r   r   test_parser_initial!   s    
r$   c             C   s   d}ddddddddg}| |}t |jdd	 |D |d
}tt|d jdksTttt|d jdksnttt|d jdksttt|d jdksttt|d jdksttt|d jdksttt|d jdkstd S )Nz)The four wheels on the bus turned quicklyr   r      r   r   c             S   s   g | ]
}|j qS r   )r   )r   r   r   r   r   r   2   s    z.test_parser_parse_subtrees.<locals>.<listcomp>)r   r   r         )	r   r   r   listZleftsr   ZrightschildrenZsubtree)r   r   r   r   r   r   r   r   r   test_parser_parse_subtrees.   s    r+   c       	   	   C   s   d}ddddddg}ddd	dd
dg}ddddddg}| |}t |jdd |D |||d}| *}x"|jD ]}|j|d|jid qlW W d Q R X |d jdkst|d jdkst|d jdkst|d jdkstd S )Nz#A phrase with another phrase occursr   r%   r&   r   r   Zdetr	   prepZpobjr   ZDTZNNINZVBZc             S   s   g | ]
}|j qS r   )r   )r   r   r   r   r   r   C   s    z(test_parser_merge_pp.<locals>.<listcomp>)r   r   r   tagsZlemma)attrszA phrasewithr   zanother phraser   Zoccurs)r   r   Z
retokenizeZnoun_chunksmergeZlemma_r   r   )	r   r   r   r   r.   r   r   Zretokenizernpr   r   r   test_parser_merge_pp<   s    
"r3   c             C   s`  d}ddddddg}| |}t ||| |d jdks:t|d jdksLt|d jjdks`t|d jjdkstt|d jjdkst|d jdkst|d jdkst|d jjdkst|d jjdkst|d jjdkst|d jdkst|d jdkst|d jjdks$t|d jjdks:t|d jjdksPt|d	 jdksdt|d	 jdksxt|d	 jjd	kst|d	 jjd	kst|d	 jjdkst|d jdkst|d jdkst|d jjdkst|d jjdkst|d jjdks$td
d
d
ddddg}| |}t ||| |d jdks^t|d jdksrt|d jjdkst|d jjdkst|d jjdkst|d jdkst|d jdkst|d jjdkst|d jjdkst|d jjdkst|d jdks2t|d jdksFt|d jjdks\t|d jjdksrt|d jjdkst|d	 jdkst|d	 jdkst|d	 jjd	kst|d	 jjd	kst|d	 jjdkst|d jdkst|d jdkst|d jjdks0t|d jjdksFt|d jjdks\td S )Nz	a b c d ezR-nsubjDzR-ROOTr   r   r%   r   r   r    zL-nsubj)r   Zn_leftsr   Zn_rightsZ	left_edger"   Z
right_edger!   )r   r   r   r#   r   r   r   r   $test_parser_arc_eager_finalize_stateN   sr    r5   c          &   C   s  ddddddddd	d
ddddddddd	ddd	dddddd	ddddddddddg&}dd d!d"d d!dd#d!d$d%d&d!dd&ddd'd!dd(d!d%d!d)dd*d!dd)dd*d!d!d+d,d-d!g&}d.d/d0d1d/d2d3d4d0d5d1d.d6d.d2d.d7d8d0d1d9d0d2d6d7d3d:d0d.d2d;d8d<d6d7d=d0d6g&}t | |||d>}xTtt|D ]D}|d ks&|d&kr<|| jd?ksPtn|| jd kstqW x0|jD ]&}x|D ]}|j|kshtqhW q^W d S )@NZEinZSatz.u	   AußerdemZistZZimmerZdavonu
   überzeugt,ZdassZauchzepige-
ZnetischeZMechanismenZeineZRolleZspielenZalsou	   VorgängeZdieZsichZdaraufZ	auswirkenZwelcheZGeneZ	abgelesenZwerdenZundZnichtr   r   r&         r%   r   iir   iiiiZnkr   punctmoZsboppdcp ZoareZapprcocZcdZng)r   r   r   T)r   ranger   Zis_sent_startr   Zsentsr!   )Zen_vocabr   r   r   r   r"   senttokenr   r   r   test_parser_set_sent_starts   s    PPP
rH   )
__future__r   Zpytestutilr   r   r   markZxfailZparametrizer   r$   r+   r3   r5   rH   r   r   r   r   <module>   s   
K