
    h,                     j    S SK r S SKJrJr  S SKJr  S SKJr  SSKJ	r	  S r
S rS	 rS
 rS rS rS rg)    N)LookupsTable)get_string_id)Vocab   )make_tempdirc                     Sn SSS.n[        5       nUR                  X5        [        U5      S:X  d   eX;   d   eUR                  U 5      (       d   eUR	                  U 5      nUR
                  U :X  d   e[        U5      S:X  d   eUS   S:X  d   eSUS	'   US	   S:X  d   eUR	                  U 5      n[        U5      S
:X  d   e[        R                  " [        5         UR	                  S5        S S S 5        [        R                  " [        5         UR                  U 5        S S S 5        UR                  U 5      nUR
                  U :X  d   e[        U5      S:X  d   eX;  d   e[        R                  " [        5         UR	                  U 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Ntestbarworldfoohello   r   r   ba   xyzr   )r   	add_tablelen	has_table	get_tablenamepytestraisesKeyError
ValueErrorremove_table)
table_namedatalookupstables       `/home/james-whalen/.local/lib/python3.13/site-packages/spacy/tests/vocab_vectors/test_lookups.pytest_lookups_apir$   
   s   J7+DiGj'w<1   Z((((j)E::###u:??>W$$$E#J:j)Eu:??	x	 %  
!	z	"*% 
#  ,E::###w<1$$$	x	 *% 
!	  
!	 	"	" 
!	 s$   FF-F>
F*-
F;>
Gc                  .   [        SS9n U R                  S:X  d   e[        U 5      S:X  d   eSU ;  d   eSSS.n[        SUS9n [        U 5      [        U5      :X  d   eS	U ;   d   e[        S	5      U ;   d   eU S	   S:X  d   eU [        S	5         S:X  d   eU R	                  S	5      S:X  d   eU R	                  S5      b   eS
U S'   U S   S
:X  d   eU [        S5         S
:X  d   eU R                  SS5        U S   S:X  d   eU [        S5         S:X  d   eg )Nr"   )r   r   abcr   r   r   r   r    r   {   def  )r   r   r   r   getset)r"   r    s     r#   test_table_apir-   &   sH   wE::   u:??7+DwT*Eu:T"""E>>5(((<5   u%&%///99Uu$$$99U###E%L<3u%&#---	IIeS<3u%&#---    c                  d   SSSS.n [        SU S9nUR                  5       n[        5       R                  U5      nUR                  S:X  d   e[	        U5      S:X  d   eUS   S:X  d   eU[        S5         S:X  d   e[        S	S
0S9nUR                  U5        [	        U5      S:X  d   eS	U;  d   eg )Nr   r   r(   )r   r   r&   r"   r'   r   r   r)   r*   )r    )r   to_bytes
from_bytesr   r   r   )r    r"   table_bytes	new_table
new_table2s        r#   test_table_api_to_from_bytesr5   <   s    737DwT*E.."K"";/I>>W$$$y>QUu$$$]5)*e333UCL)J+&z?a
"""r.   c                     [        5       n U R                  SSSS.5        U R                  SSSSS	.5        U R                  5       n[        5       nUR                  U5        [	        U5      S:X  d   eSU;   d   eSU;   d   eUR                  S5      n[	        U5      S:X  d   eUS
   S:X  d   eUR                  S5      n[	        U5      S:X  d   eUS   S:X  d   eUR                  5       U:X  d   eg Ntable1r   r   r   table2r   r   r   )r   r   cr   r   )r   r   r0   r1   r   r   )r!   lookups_bytesnew_lookupsr8   r9   s        r#   test_lookups_to_from_bytesr=   K   s   iGh @Ahaaa 89$$&M)K=){q   {"""{"""""8,Fv;!%=E!!!""8,Fv;!#;!!]222r.   c                     [        5       n U R                  SSSS.5        U R                  SSSSS	.5        [        5        nU R                  U5        [        5       nUR	                  U5        S S S 5        [        W5      S:X  d   eSU;   d   eSU;   d   eUR                  S5      n[        U5      S:X  d   eUS
   S:X  d   eUR                  S5      n[        U5      S:X  d   eUS   S:X  d   eg ! , (       d  f       N= fr7   )r   r   r   to_disk	from_diskr   r   )r!   tmpdirr<   r8   r9   s        r#   test_lookups_to_from_diskrB   ^   s   iGh @Ahaaa 89	6if% 
 {q   {"""{"""""8,Fv;!%=E!!!""8,Fv;!#;! 
s    -C11
C?c                     Sn [        5       nUR                  R                  U SSS.5        XR                  ;   d   eUR                  5       n[        5       nUR	                  U5        [        UR                  5      [        UR                  5      :X  d   eXR                  ;   d   eUR                  R                  U 5      n[        U5      S:X  d   eUS   S:X  d   eUR                  5       U:X  d   eg Nr
   r   r   r   r   r   )r   r!   r   r0   r1   r   r   )r   vocabvocab_bytes	new_vocabr"   s        r#   $test_lookups_to_from_bytes_via_vocabrH   q   s    JGE	MMJ(HI&&&.."KI%y  !S%7777*****''
3Eu:??>W$$$;...r.   c                     Sn [        5       nUR                  R                  U SSS.5        XR                  ;   d   e[        5        nUR	                  U5        [        5       nUR                  U5        S S S 5        [        WR                  5      [        UR                  5      :X  d   eXR                  ;   d   eUR                  R                  U 5      n[        U5      S:X  d   eUS   S:X  d   eg ! , (       d  f       N= frD   )r   r!   r   r   r?   r@   r   r   )r   rE   rA   rG   r"   s        r#   #test_lookups_to_from_disk_via_vocabrJ      s    JGE	MMJ(HI&&&	6fG	F# 
 y  !S%7777*****''
3Eu:??>W$$$ 
s   -C33
D)r   spacy.lookupsr   r   spacy.stringsr   spacy.vocabr   utilr   r$   r-   r5   r=   rB   rH   rJ    r.   r#   <module>rP      s7     ( '  &8.,#3&&/ %r.   