o
    i                     @   s   d dl Z d dlZd dlmZ d dlmZ ddlmZmZ ej	dd Z
e	 dd	 Zejd
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )    N)Doc)Vocab   )add_vecs_to_vocab
get_cosinec                   C   s   dg dfdg dfgS )Napple   r      orange) r   r   r   ]/home/ubuntu/.local/lib/python3.10/site-packages/spacy/tests/vocab_vectors/test_similarity.pyvectors
   s   r   c                 C   s   t | | | S )N)r   )en_vocabr   r   r   r   vocab   s   
r   i  c                 C   sn   dg dfdg dfg}t | | |\\}}\}}t| ||gd}|d |d |d |d ks5J dS )	zATest if indexing issue still occurs during Token-Token similarityar   letter)         wordsr   r	   N)r   r   
similarity)r   r   word1vec1word2vec2docr   r   r   test_issue2219   s
   
,r!   c                 C   s   |\\}}\}}| | }| | }|j sJ |j sJ |jdks!J |jdks(J |jd |jd kr<|jd |jd ks>J t||tsHJ t||t||sVJ t||||sdJ d S )Nr   r	   )	
has_vectorvector_normvector
isinstancer   floatnumpyiscloser   )r   r   r   r   r   r   lex1lex2r   r   r   test_vectors_similarity_LL   s   

, r+   c                 C   s  |\\}}\}}t | ||gd}|d jsJ |d jsJ |d jdks'J |d jdks0J |d jd |d jd krL|d jd |d jd ksNJ t|d |d ts\J t|d |d t	||snJ t|d |d |d |d sJ d S )Nr   r   r	   )
r   r"   r#   r$   r%   r   r&   r'   r(   r   r   r   r   r   r   r   r    r   r   r   test_vectors_similarity_TT-   s   <$0r-   c                 C   s   |\\}}\}}t | ||gd}t|dd |dd ts"J |dd |dd |dd |dd ks>J d S )Nr   r   r	   r   r   r%   r   r&   r,   r   r   r   test_vectors_similarity_SS:   s   $<r/   c                 C   s`   |\\}}\}}t | ||gd}t | ||gd}t||ts"J ||||ks.J d S )Nr   r.   )r   r   r   r   r   r   doc1doc2r   r   r   test_vectors_similarity_DDA   s
   r2   c                 C   st   |\\}}\}}t | ||gd}t||d tsJ t|d |ts(J ||d |d |ks8J d S )Nr   r   r.   r,   r   r   r   test_vectors_similarity_TDI   s
   $r3   c                 C   s   |\\}}\}}t | ||gd}t|d d |d ts J t|d |d d ts0J |d d |d |d |d d ksHJ d S )Nr   r   r   r.   r,   r   r   r   test_vectors_similarity_TSQ   s
     4r4   c                 C   sh   |\\}}\}}t | ||gd}t||d d tsJ ||d d |d d |ks2J d S )Nr   r   r.   r,   r   r   r   test_vectors_similarity_DSY   s   ,r5   c                  C   s|  t  } t| ddgd}t| g dd}tt || W d    n1 s(w   Y  tt ||d  W d    n1 sDw   Y  tt ||d d  W d    n1 sbw   Y  tt || W d    n1 s|w   Y  tt |d | W d    n1 sw   Y  tt |d d | W d    d S 1 sw   Y  d S )Nr   br   )cder	   r   )r   r   pytestwarnsUserWarningr   )r   r0   r1   r   r   r   "test_vectors_similarity_no_vectors`   s*   "r=   )r'   r:   spacy.tokensr   spacy.vocabr   utilr   r   fixturer   r   markissuer!   r+   r-   r/   r2   r3   r4   r5   r=   r   r   r   r   <module>   s&    



	