
    h                     *   S SK r S SKJr  S SKrS SKrS SKJr  S SKJrJ	r	  S SK
Jr  S SK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Q4rS r\R6                  R9                  S\S    \S   S9S 5       rS rS r " S S\5      r g)    N)TestCase)zeros)InMemoryLookupKBWriterLanguage)TrainablePipe)Vectors)Vocab   )make_tempdirc                      [        5       $ Nr        e/home/james-whalen/.local/lib/python3.13/site-packages/spacy/tests/serialize/test_resource_warning.pynlpr      s
    :r   c                  0    [        SSS9n / SQn[        XS9$ )N)      fdtype)catdogratdatakeys)r   r
   r   s     r   vectorsr       s    s#D D((r   c                  b   ^  " U4S jS5      m " U4S jS[         5      n U " [        5       5      $ )Nc                   v   >^  \ rS rSrUU 4S jr\" 5       S4S jrS r\" 5       4S jr\" 5       4S jr	Sr
U =r$ )	&custom_pipe.<locals>.SerializableDummy   c                 L   > U(       a  Xl         OS U l         [        TU ]  5         g r   )cfgsuper__init__)selfr&   SerializableDummy	__class__s     r   r(   /custom_pipe.<locals>.SerializableDummy.__init__   s     #T35r   Nc                 Z    [         R                  " S[         R                  " S 5      05      $ )Ndummy)srslymsgpack_dumps
json_dumps)r)   excludedisablekwargss       r   to_bytes/custom_pipe.<locals>.SerializableDummy.to_bytes%   s#    &&1A1A$1G'HIIr   c                     U $ r   r   )r)   
bytes_datar2   s      r   
from_bytes1custom_pipe.<locals>.SerializableDummy.from_bytes(       Kr   c                     g r   r   r)   pathr2   r4   s       r   to_disk.custom_pipe.<locals>.SerializableDummy.to_disk+   s    r   c                     U $ r   r   r=   s       r   	from_disk0custom_pipe.<locals>.SerializableDummy.from_disk.   r;   r   )r&   )__name__
__module____qualname____firstlineno__r(   tupler5   r9   r?   rB   __static_attributes____classcell__)r+   r*   s   @r   r*   r#      s9    	6 $)7D 	J	 ). 	 +0' 	 	r   r*   c                   &   > \ rS rSrSU 4S jjrSrg)custom_pipe.<locals>.MyPipe1   c                 T   > U(       a  X0l         OS U l         T" 5       U l        Xl        g r   r&   modelvocab)r)   rQ   rP   r&   r*   s       r   r(   $custom_pipe.<locals>.MyPipe.__init__2   s!    *,DJJr   rO   N)T)rD   rE   rF   rG   r(   rI   )r*   s   r   MyPiperL   1   s    	 	r   rS   )r	   r   )rS   r*   s    @r   custom_piperT      s'     (  %'?r   c                  ~    [        5       n U R                  S5      nUR                  S5        U R                  5         U$ )NtaggerA)r   add_pipe	add_label
initialize)r   rV   s     r   rV   rV   =   s6    
*C\\(#F SNNMr   c                      [        5       n S nU R                  S5      nUR                  U5        U R                  5         U$ )Nc           	      P    [        U SS9nUR                  SS[        SSS95        U$ )Nr   entity_vector_lengthtestg        )r   r   r   )r   
add_entityr   )rQ   kbs     r   	create_kb entity_linker.<locals>.create_kbK   s*    e!<
fc5S#9:	r   entity_linker)r   rX   set_kbrZ   )r   rb   rd   s      r   rd   rd   H   s>    
*C
 LL1M# NNr   )r   r    rT   rV   rd   c                 >   [        5        n[        R                  " SS9 n[        R                  " S[        S9  U R                  U5        [        [        S U5      5      sS S S 5        sS S S 5        $ ! , (       d  f       O= f S S S 5        g ! , (       d  f       g = f)NT)recordalways)categoryc                 "    [        U [        5      $ r   )
isinstanceResourceWarning)xs    r   <lambda>.write_obj_and_catch_warnings.<locals>.<lambda>e   s    A)Gr   )r   warningscatch_warningsfilterwarningsrl   r?   listfilter)objdwarnings_lists      r   write_obj_and_catch_warningsrx   _   sg    	1$$D1]##HGKKNGWX	 21 
111 
s#   BA A3 	B3
B	=B
Bobj_factoryr   )idsc                 J    U " 5       n[        U5      n[        U5      S:X  d   eg )Nr   )rx   len)ry   ru   rw   s      r   test_to_disk_resource_warningr}   h   s&    
-C05M}"""r   c                  F   S n [        5        nUS-  n [        U5      n U (       a  U R                  5         S S S 5        g ! [         a)  n[        R                  " [        U5      5         S nANNS nAff = f! U (       a  U R                  5         f f = f! , (       d  f       g = f)Nr_   )r   r   	Exceptionpytestfailstrclose)writerrv   r>   es       r   test_writer_with_path_py35r   o   s{    F	16z	D\F  
  	 KKA	    
s=   B?B
A2	A-(A5-A22A55BB
B c                     [        5       n [        U R                  SS9n[        5        nUS-  n UR	                  U5         [        U R                  SS9nUR                  U5        S S S 5        g ! [
         a)  n[        R                  " [        U5      5         S nAN]S nAff = f! [
         a)  n[        R                  " [        U5      5         S nANmS nAff = f! , (       d  f       g = f)Nr   r]   ra   )
r   r   rQ   r   r?   r   r   r   r   rB   )r   ra   rv   r>   r   	kb_loadeds         r   !test_save_and_load_knowledge_baser   |   s    
*C	#))!	<B	14x	 JJt	 (KI% 
  	 KKA	   	 KKA	  
sR   CA0%B&0
B#:BCB##C&
C0CCCC
C*c                       \ rS rSrS rSrg)!TestToDiskResourceWarningUnittest   c                 &   [         S    Vs/ s H	  o" 5       PM     nn[         S   n[        X#5      nU HC  u  pVU R                  US9   [        U5      nU R	                  [        U5      S5        S S S 5        ME     g s  snf ! , (       d  f       M\  = f)Nr   r   )msg)objects_to_testzipsubTestrx   assertEqualr|   )r)   rm   itemsnames	scenariositemnamerw   s           r   test_resource_warning7TestToDiskResourceWarningUnittest.test_resource_warning   s    -a01001"%	#JD$' <T B  ]!3Q7 (' $	 2
 ('s   A<'B
B	r   N)rD   rE   rF   rG   r   rI   r   r   r   r   r      s    8r   r   )!rp   unittestr   r   r/   numpyr   spacy.kb.kb_in_memoryr   r   spacy.languager   spacy.pipeliner	   spacy.vectorsr
   spacy.vocabr   utilr   r   r    rT   rV   rd   r   rx   markparametrizer}   r   r   r   r   r   r   <module>r      s         : # ( !  )D$ 	';6@Y (:PQ@RS# T#
 "	8 	8r   