B
    .(b
                 @   s   d dl mZ d dlZd dlmZ ddlmZmZ dd Zdd	 Z	ej
jd
d Zej
jdd Zej
ddgdfddddgdfgej
jdd ZdS )    )unicode_literalsN)Doc   )get_docapply_transition_sequencec             C   st   d}ddddddddddddddg}| |}t |jd	d
 |D |d}x(|jD ]}t|dkrN|d jrNtqNW d S )Nz4This is a test.
To ensure  spaces are attached well.   r      r   c             S   s   g | ]
}|j qS  )text).0tr   r   W/home/dcms/DCMS/lib/python3.7/site-packages/spacy/tests/parser/test_space_attachment.py
<listcomp>   s    z0test_parser_space_attachment.<locals>.<listcomp>)wordsheads)r   vocabsentslenis_spaceAssertionError)en_tokenizerr   r   tokensdocsentr   r   r   test_parser_space_attachment   s     r   c             C   s   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g}| |}t |jdd |D ||d}tt|jdkstd S )NzSI look forward to using Thingamajig.  I've been told it will make my life easier...r   r   r
   r      r   r	   iZnsubjROOTZadvmodprepZpcompZdobjpunct Z	nsubjpassZauxZauxpassZccompZpossc             S   s   g | ]
}|j qS r   )r   )r   r   r   r   r   r      s    z.test_parser_sentence_space.<locals>.<listcomp>)r   r   deps)r   r   r   listr   r   )r   r   r   r$   r   r   r   r   r   test_parser_sentence_space   s    *r&   c          	   C   s   d}ddddddg}| |}t |j|d|d}|d js@t|d jsNt|d jd	ks`t||}W d Q R X |d jjdkst|d jjdkst|j	t
dgkstd S )
Nz	 
 This is a sentence .r   r   r   r	    )r   r   r   ZThis)r   r   splitr   r   r   step_throughheadistackset)r   	en_parserr   r   r   r   Zstepwiser   r   r   $test_parser_space_attachment_leading"   s    
r/   c             C   s   d}ddddddddg}dd	d
dddg}| |}t |j|d|d}|d jsTt|d jsbt|d jspt|d js~t|d jstt||| x |D ]}|jdks|jstqW dd |D ddddddddddg
kstd S )Nz This is 	 a 	
 
 sentence . 

 
r   r   r
   r   r   zL-nsubjSzL-detzR-attrDzR-punctr'   )r   r   r         	   c             S   s   g | ]}|j jqS r   )r*   r+   )r   tokenr   r   r   r   B   s    zFtest_parser_space_attachment_intermediate_trailing.<locals>.<listcomp>   r      )r   r   r(   r   r   r   dep)r   r.   r   r   Z
transitionr   r   r6   r   r   r   2test_parser_space_attachment_intermediate_trailing2   s    
r:   ztext,length
r   	z

r   c          	   C   sh   t |j|d}t||kst||}W d Q R X |d jsBtx |D ]}|jj|d ksHtqHW d S )N)r   r   r   )r   r   r   r   r)   r   r*   r+   )r   r.   r   lengthr   _r6   r   r   r   "test_parser_space_attachment_spaceE   s    

r?   )
__future__r   ZpytestZspacy.tokens.docr   utilr   r   r   r&   markZxfailr/   r:   Zparametrizer?   r   r   r   r   <module>   s   
"