
    cW                     F   d Z ddlZddlZddlZddlZddlmZmZm	Z	 ddl
mZ ddlZ ej        e          Z G d dej                  Z G d dej                  Zd	 Z G d
 dej                  Zedk    r( ej        dej                    ej                     dS dS )zK
Automated tests for checking the poincare module from the models package.
    N)KeyedVectorsREALpseudorandom_weak_vector)datapathc                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z dS ) TestKeyedVectorsc                     t          j        t          d          d          | _        t          d          | _        t          d          | _        d S )Nzeuclidean_vectors.binTbinaryz$w2v_keyedvectors_load_test.modeldataz w2v_keyedvectors_load_test.vocab)r   load_word2vec_formatr   vectors
model_path
vocab_pathselfs    =lib/python3.11/site-packages/gensim/test/test_keyedvectors.pysetUpzTestKeyedVectors.setUp   sG    #8BY9Z9Zcghhh"#IJJ"#EFF    c                     g d}d | j                             dd          D             }|                     ||           dS )z+Test most_similar returns expected results.conflictadministration	terrorismcallisraelc                     g | ]
}|d          S r    .0results     r   
<listcomp>z6TestKeyedVectors.test_most_similar.<locals>.<listcomp>(   s    VVV6VAYVVVr   war   topnNr   most_similarassertEqualr   expected	predicteds      r   test_most_similarz"TestKeyedVectors.test_most_similar   s[    
 
 
 WVT\-F-FuST-F-U-UVVV	9-----r   c                 l    | j         j         dd         }| j                             |          }|J dS )z-Can we pass vectors to most_similar directly?r   r$   )positiveN)r   r(   )r   r/   r(   s      r   test_most_similar_vectorz)TestKeyedVectors.test_most_similar_vector+   s?    <'!,|00(0CC'''''r   c                     t          j        | j        j        d          } |dd          } |dgdg          } |dd          } |dgdg          }||k    sJ ||k    sJ ||k    sJ dS zLAre the positive/negative parameter types are getting interpreted correctly?r$   r%   r#   peace)r/   negativeN)	functoolspartialr   r(   r   r6   positionposition_listkeywordkeyword_lists         r   !test_most_similar_parameter_typesz2TestKeyedVectors.test_most_similar_parameter_types1   s    #DL$=AFFF75'**'33'57;;;w7)DDD
 =((((7""""<''''''r   c                     t          j        | j        j        d          } |dd          } |dgdg          } |dd          } |dgdg          }||k    sJ ||k    sJ ||k    sJ dS r2   )r5   r6   r   most_similar_cosmulr7   s         r   (test_most_similar_cosmul_parameter_typesz9TestKeyedVectors.test_most_similar_cosmul_parameter_typesA   s    #DL$D1MMM75'**'33'57;;;w7)DDD
 =((((7""""<''''''r   c                     g d}| j                             |          }d}t          |          }||k    sJ | j         d         }|d         }t          j        ||          sJ dS )zBTest vectors_for_all returns expected results with a list of keys.)r   r   r   an out-of-vocabulary wordzanother out-of-vocabulary word   r   N)r   vectors_for_alllennpallcloser   wordsrC   r+   r,   s        r   test_vectors_for_all_listz*TestKeyedVectors.test_vectors_for_all_listQ   s    
 
 
 ,66u==((	9$$$$<
+#J/	{8Y///////r   c                     dg}| j                             |d          }| j                             dd          }|                    dd          }||k    sJ dS )8Test vectors_for_all returns can copy vector attributes.r   Tcopy_vecattrscountNr   rC   get_vecattrrG   s        r   'test_vectors_for_all_with_copy_vecattrsz8TestKeyedVectors.test_vectors_for_all_with_copy_vecattrsd   sf    ,66uD6QQ<++J@@#//
GDD	9$$$$$$r   c                     dg}| j                             |d          }| j                             dd          }|                    dd          }||k    sJ dS )rK   r   FrL   rN   NrO   )r   rH   rC   not_expectedr,   s        r   *test_vectors_for_all_without_copy_vecattrsz;TestKeyedVectors.test_vectors_for_all_without_copy_vecattrsm   sf    ,66uE6RR|//
GDD#//
GDD	y((((((r   c                    |                      t          | j                            dd                    d           |                      t          | j                            dd                    d           | j                            dd          }|                      t          |          t          | j                             | j                            dd          }|                      t          |          d           | j                            dt	          j        d                    }|                      t          |          d           dS )zCTest most_similar returns correct results when `topn` is specified.r#   r$   r%   
   Nr   )r)   rD   r   r(   rE   uint8r   r,   s     r   test_most_similar_topnz'TestKeyedVectors.test_most_similar_topnv   s"   T\66u16EEFFJJJT\66u26FFGGLLLL--e$-??	YT\):):;;;L--e!-<<	Y+++L--e"(1++-FF	Y+++++r   c                      g d} fd|D             t          d           j                            dd          t          fdt	          d          D                       z  } j                            ddd          }                     ||k                                    t          j        ||d	d
                      j                            ddd          }                     |dk                dS )z^Test relative_cosine_similarity returns expected results with an input of a word pair and topn)%goodgoodness	commodity
trade_goodfull	estimable	honorablerespectable
beneficialjustuprightadeptexpert	practiced
proficientskillfulskilfuldearnear
dependablesafesecurerightripewell	effective	in_effectin_forceserioussoundsalutaryhonestundecomposed	unspoiledunspoilt
thoroughlysoundlyc                 X    g | ]&}|j         v j                             d |          'S )r[   )r   
similarity)r    synr   s     r   r"   zDTestKeyedVectors.test_relative_cosine_similarity.<locals>.<listcomp>   s:    fffCRUY]YeRef4<**6377fffr   T)reverser[   nicec              3   (   K   | ]}|         V  d S Nr   )r    icos_sims     r   	<genexpr>zCTestKeyedVectors.test_relative_cosine_similarity.<locals>.<genexpr>   s(      CbCbSTGAJCbCbCbCbCbCbr   rV   r   g      ?worst皙?N)	sortedr   r   sumrangerelative_cosine_similarity
assertTruerE   rF   )r   wordnet_synrcs_wordnetrcsr   s   `   @r   test_relative_cosine_similarityz0TestKeyedVectors.test_relative_cosine_similarity   s   
 
 
 gfff;fff$///l--ff==CbCbCbCbX]^`XaXaCbCbCb@b@bbl55ffbIIs*+++Ka??@@@l55fgrJJd
#####r   c                     |                      t                    5  | j                            d           ddd           dS # 1 swxY w Y   dS )z=Test most_similar raises KeyError when input is out of vocab.not_in_vocabN)assertRaisesKeyErrorr   r(   r   s    r   !test_most_similar_raises_keyerrorz2TestKeyedVectors.test_most_similar_raises_keyerror   s    x(( 	6 	6L%%n555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6s   AA
Ac                     t          | j        j        dd                   }t          d | j                            ddd          D                       }|                     ||           dS )z;Test most_similar returns handles restrict_vocab correctly.Nr$   c              3   &   K   | ]}|d          V  dS )r   Nr   r   s     r   r   zDTestKeyedVectors.test_most_similar_restrict_vocab.<locals>.<genexpr>   s&      kkfq	kkkkkkr   r#   )r&   restrict_vocab)setr   index_to_keyr(   r)   r*   s      r    test_most_similar_restrict_vocabz1TestKeyedVectors.test_most_similar_restrict_vocab   sn    t|0!455kk0I0I%VWhi0I0j0jkkkkk	9-----r   c                     g d}| j         d         }d | j                             |gd          D             }|                     ||           dS )zYTest most_similar returns expected results with an input vector instead of an input word.r#   r   r   r   r   r#   c                     g | ]
}|d          S r   r   r   s     r   r"   zHTestKeyedVectors.test_most_similar_with_vector_input.<locals>.<listcomp>   s    ___6VAY___r   r$   r%   Nr'   r   r+   input_vectorr,   s       r   #test_most_similar_with_vector_inputz4TestKeyedVectors.test_most_similar_with_vector_input   sh    
 
 
 |E*__T\-F-F~\]-F-^-^___	9-----r   c                 l    | j                             dg d          }|                     |d           dS )z3Test most_similar_to_given returns correct results.r#   )r   r   wagingr   N)r   most_similar_to_givenr)   rX   s     r   test_most_similar_to_givenz+TestKeyedVectors.test_most_similar_to_given   s<    L66u>]>]>]^^	K00000r   c                     g d}d | j                             dd          D             }|                     ||           dS ).Test similar_by_word returns expected results.r   c                     g | ]
}|d          S r   r   r   s     r   r"   z9TestKeyedVectors.test_similar_by_word.<locals>.<listcomp>   s    YYY6VAYYYYr   r#   r$   r%   N)r   similar_by_wordr)   r*   s      r   test_similar_by_wordz%TestKeyedVectors.test_similar_by_word   s[    
 
 
 ZYT\-I-I%VW-I-X-XYYY	9-----r   c                     g d}| j         d         }d | j                             |d          D             }|                     ||           dS )r   r   r#   c                     g | ]
}|d          S r   r   r   s     r   r"   z;TestKeyedVectors.test_similar_by_vector.<locals>.<listcomp>   s    bbb6VAYbbbr   r$   r%   N)r   similar_by_vectorr)   r   s       r   test_similar_by_vectorz'TestKeyedVectors.test_similar_by_vector   sf    
 
 
 |E*bbT\-K-KL_`-K-a-abbb	9-----r   c                     |                      t          j        | j                            dd          d                     |                     | j                            dd          d           dS )z+Test that distance returns expected values.r#   r   gS_#?r   N)r   rE   rF   r   distancer)   r   s    r   test_distancezTestKeyedVectors.test_distance   s`    DL$9$9%$L$LjYYZZZ..ue<<a@@@@@r   c                 
   |                      t          j        | j                            dd          d                     |                      t          j        | j                            dd          d                     dS )zNTest similarity returns expected value for two words, and for identical words.r#      r   g?N)r   rE   rF   r   r   r   s    r   test_similarityz TestKeyedVectors.test_similarity   si    DL$;$;E5$I$I1MMNNNDL$;$;E:$N$NPZ[[\\\\\r   c                     |                      | j                            dd          g            t          ddg          }|                      t          | j                            dd                    |           dS )zOTest words_closer_than returns expected value for distinct and identical nodes.r#   r   r   r   N)r)   r   closer_thanr   )r   r+   s     r   test_closer_thanz!TestKeyedVectors.test_closer_than   ss    11%??DDD
$4566T\55e[IIJJHUUUUUr   c                     |                      | j                            dd          d           |                      | j                            dd          d           dS )zBTest rank returns expected value for distinct and identical nodes.r#   r   r   rB   N)r)   r   rankr   s    r   	test_rankzTestKeyedVectors.test_rank   sX    **5%88!<<<**5+>>BBBBBr   c                 v    d t          d          D             } fdt          d          D             }t          ||          D ] \  }} j                            ||           !t          ||          D ]8\  }}                     t          j         j        |         |                     9t           j        j                  }t          ||          D ]\  }}|                    ||           t          ||          D ]3\  }}                     t          j        ||         |                     4dS )z8Test that adding entity in a manual way works correctly.c                     g | ]}d | d	S )___some_entity _not_present_in_keyed_vectors___r   r    r   s     r   r"   z4TestKeyedVectors.test_add_single.<locals>.<listcomp>   s$    [[[QHQHHH[[[r   r$   c                 b    g | ]+}t           j                            j        j                  ,S r   rE   randomrandnr   vector_sizer    _r   s     r   r"   z4TestKeyedVectors.test_add_single.<locals>.<listcomp>   ,    OOO29??4<#;<<OOOr   N)	r   zipr   add_vectorsr   rE   rF   r   r   )r   entitiesr   entvectorkvs   `     r   test_add_singlez TestKeyedVectors.test_add_single   sT   [[RWXYRZRZ[[[OOOOeAhhOOO x11 	2 	2KCL$$S&1111x11 	D 	DKCOOBKS(96BBCCCC $,233x11 	( 	(KCNN3''''x11 	: 	:KCOOBK3889999	: 	:r   c                     d t          d          D             } fdt          d          D             }t           j                  } j                            ||d                                |t          |          z   t           j                             t          ||          D ]8\  }}                     t          j         j        |         |                     9t           j        j
                  }|||<                        t          |          t          |                     t          ||          D ]3\  }}                     t          j        ||         |                     4dS )zDTest that adding a bulk of entities in a manual way works correctly.c                 8    g | ]}d                      |          S )z0___some_entity{}_not_present_in_keyed_vectors___)formatr   s     r   r"   z6TestKeyedVectors.test_add_multiple.<locals>.<listcomp>   s(    cccUVFMMaPPcccr   r$   c                 b    g | ]+}t           j                            j        j                  ,S r   r   r   s     r   r"   z6TestKeyedVectors.test_add_multiple.<locals>.<listcomp>   r   r   F)replaceN)r   rD   r   r   r)   r   r   rE   rF   r   r   )r   r   r   
vocab_sizer   r   r   s   `      r   test_add_multiplez"TestKeyedVectors.test_add_multiple   sj   ccZ_`aZbZbcccOOOOeAhhOOO &&
  7E BBBc(mm3S5F5FGGGx11 	D 	DKCOOBKS(96BBCCCC $,2338R#h--000x11 	: 	:KCOOBK3889999	: 	:r   c                    t          d          }|j        j        t          k    sJ dgt	          j        ddgt          j                                      dd          }}|                    ||           |j        j        t          k    sJ d S )N   ag      ?dtyper   )	r   r   r   r   rE   arrayfloat64reshaper   )r   r   rH   r   s       r   test_add_typezTestKeyedVectors.test_add_type  s    !__z4''''"b D D D L LQPR S Sw
ug&&&z4''''''r   c                     t           j                  }d}t          j                             j        j                  }| j        |<                        t           j                  |dz                                   t          j         j        |         |                     t           j                  }t          j                             j        j                  }| j        d<                        t           j                  |                                t          j         j        d         |                     t           j                  }g d} fdt          t          |                    D             }| j        |<                        t           j                  |dz              t          ||          D ]8\  }}                     t          j         j        |         |                     9dS )z&Test that __setitem__ works correctly.___some_new_entity___r   r#   )r#   ___some_new_entity1______some_new_entity2___r   r   c                 b    g | ]+}t           j                            j        j                  ,S r   r   r   s     r   r"   z2TestKeyedVectors.test_set_item.<locals>.<listcomp>,  s,    [[[29??4<#;<<[[[r   r   N)rD   r   rE   r   r   r   r)   r   rF   r   r   )r   r   entityr   r   r   r   s   `      r   test_set_itemzTestKeyedVectors.test_set_item  s   &&
 )!9::%VT\**JN;;;DL$8&AABBB &&
!9::$UT\**J777DL$7@@AAA &&
ggg[[[[eCPXMMFZFZ[[[!(XT\**JN;;;x11 	D 	DKCOOBKS(96BBCCCC	D 	Dr   c                     |                      t                    5  t          j        j                            | j        | j        dd           ddd           dS # 1 swxY w Y   dS )zKTest loading model and voacab files which have decoding errors: strict modeFstrictfvocabr   unicode_errorsN)r   UnicodeDecodeErrorgensimmodelsr   r   r   r   r   s    r   %test_load_model_and_vocab_file_strictz6TestKeyedVectors.test_load_model_and_vocab_file_strict4  s    122 	` 	`M&;;V^ < ` ` `	` 	` 	` 	` 	` 	` 	` 	` 	` 	` 	` 	` 	` 	` 	` 	` 	` 	`s   3AA"Ac           	         t           j        j                            | j        | j        dd          }|                     |                    dd          d           |                     |                    dd          d           |                     |j        d         d	           |                     |j        d         d
           | 	                    t          j        |                    d          t          j        g dt          j                                       | 	                    t          j        |                    d          t          j        g dt          j                                       dS )zLTest loading model and voacab files which have decoding errors: replace modeFr   r   u   ありがとう�rN   {   u   どういたしまして�  r   r   333333?r   r   r   r   g?g333333?Nr   r   r   r   r   r   r)   rP   key_to_indexr   rE   array_equal
get_vectorr   float32r   models     r   &test_load_model_and_vocab_file_replacez7TestKeyedVectors.test_load_model_and_vocab_file_replace:  ss   *??ODOER[ @ ] ]**+@'JJCPPP**+I7SSUXYYY+,ABAFFF+,JKQOOO233RXlllRTR\5]5]5]_ _ 	` 	` 	`;<<bh|||[][e>f>f>fh h 	i 	i 	i 	i 	ir   c           	         t           j        j                            | j        | j        dd          }|                     |                    dd          d           |                     |                    dd          d           |                     |j        d         d	           |                     |j        d         d
           | 	                    t          j        |                    d          t          j        g dt          j                                       | 	                    t          j        |                    d          t          j        g dt          j                                       dS )zKTest loading model and voacab files which have decoding errors: ignore modeFignorer   u   ありがとうrN   r   u   どういたしましてr   r   r   r   r   r   Nr   r   s     r   %test_load_model_and_vocab_file_ignorez6TestKeyedVectors.test_load_model_and_vocab_file_ignoreG  sq   *??ODOERZ @ \ \**+=wGGMMM**+FPPRUVVV+,>?CCC+,GH!LLL/00"(<<<rz2Z2Z2Z\ \ 	] 	] 	]89928LLLXZXb;c;c;ce e 	f 	f 	f 	f 	fr   c                 X   t          d          d}d t          |          D             }fdt          |          D             }                    ||           t          j        j                            d          }                    |d           t          j        |d          }| 	                    j
        |j
                   |                     j        |j        k                                               t          j        j                            d	          }                    |d
           t          j        |d
          }| 	                    j
        |j
                   |                     j        |j        k                                               d S )Nd   r      c                 ,    g | ]}t          |          S r   strr   s     r   r"   z5TestKeyedVectors.test_save_reload.<locals>.<listcomp>W      ---1A---r   c                 8    g | ]}t          j                  S r   r   r   r    r   randkvs     r   r"   z5TestKeyedVectors.test_save_reload.<locals>.<listcomp>X  %    VVVA+F,>??VVVr   
tmp_kv.txtFr
   z
tmp_kv.binTr   r   r   r   testutilsget_tmpfilesave_word2vec_formatr   r)   r   r   r   all)	r   rN   keysweights
tmpfiletxtreloadtxtkv
tmpfilebinreloadbinkvr  s	           @r   test_save_reloadz!TestKeyedVectors.test_save_reloadT  s   #...--e---VVVVuVVV4)))[&22<@@
##Ju#==="7
5QQQ,k.FGGG;+>>CCEEFFF[&22<@@
##Jt#<<<"7
4PPP,k.FGGG;+>>CCEEFFFFFr   c                    t          d          d}d t          |          D             }fdt          |          D             }                    ||           t          j        j                            d          }                    |dd           t          j        |dd	
          }| 	                    j
        |j
                   |                     j        |j        k                                               d S )Nr  r  r  c                 ,    g | ]}t          |          S r   r
  r   s     r   r"   z3TestKeyedVectors.test_no_header.<locals>.<listcomp>h  r  r   c                 8    g | ]}t          j                  S r   r  r  s     r   r"   z3TestKeyedVectors.test_no_header.<locals>.<listcomp>i  r  r   r  F)r   write_headerT)r   	no_headerr  )r   rN   r  r  r  r  r  s         @r   test_no_headerzTestKeyedVectors.test_no_headere  s    #...--e---VVVVuVVV4)))[&22<@@
##Ju5#QQQ"7
5\`aaa,k.FGGG;+>>CCEEFFFFFr   c                 h   g d}g d}t          j        g dt           j                  }t          j        g dt           j                  }t          j        g dt           j                  }|                     t          j        | j                            |          |                     |                     t          j        | j                            ||          |                     |                     t          j        | j                            |d          |                     d	S )
z.Test get_mean_vector returns expected results.)r   r   r   r   rA   )r   r   rB   r   r   )
gOHF{?g<gYsŊ?g=ZT?gRYy?gOTg1ozgY^3ȿgPg|u徿r   )
g^8!gC36gQN?g%-?gιJ?g|An3źgFgԥ5vƿg[g]A>)
gQ.n?g-&޿gpч6?gʗu?g?ggk͗2пgK9gPWyg>JͼF)pre_normalizeN)rE   r   r   r   rF   r   get_mean_vector)r   r  r  expected_result_1expected_result_2expected_result_3s         r   test_get_mean_vectorz%TestKeyedVectors.test_get_mean_vectorq  sV   
 
 
 "//H & & & Z! ! ! H & & & Z! ! ! H & & & Z! ! !
 	DL$@$@$F$FHYZZ[[[DL$@$@w$O$OQbccdddL((U(CCEVX X 	
 	
 	
 	
 	
r   N)!__name__
__module____qualname__r   r-   r0   r<   r?   rI   rQ   rT   rY   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r%  r,  r   r   r   r   r      s       G G G

. 
. 
.( ( (( ( ( ( ( ( 0 0 0&% % %) ) ), , ,$ $ $(6 6 6
. . .. . .1 1 1

. 
. 
.. . .A A A
] ] ]
V V VC C C
: : :(: : :*( ( (D D D>` ` `i i if f fG G G"
G 
G 
G
 
 
 
 
r   r   c                       e Zd Zd ZdS )Gensim320Testc                     t          d          }t          j        j        j                            |          }|                     |                    d          d u           d S )Nzold_keyedvectors_320.datcomputer)r   r   r   keyedvectorsr   loadr   r   )r   pathr   s      r   r  zGensim320Test.test  sV    233-,9>>tDD**:66dBCCCCCr   N)r-  r.  r/  r  r   r   r   r1  r1    s(        D D D D Dr   r1  c                    t           j                            | d          5 }t          |          }t          t	          |                                          d                   }d||fz  }|                    |                    d                     |                                D ]\  }}|                    |                                           |                    d                                           |                    t          j
        |                              t          j                                                             	 d d d            d S # 1 swxY w Y   d S )Nwbr   z%d %d
ascii)encoding )r   r  openrD   listvalueswriteencodeitemsrE   r   astyper   tobytes)fnameword2vec_dictf	num_wordsvector_lengthheaderwordr   s           r   #save_dict_to_word2vec_formated_filerK    s   			5$	'	' 
C1&&	D!5!5!7!788;<<i77	w//000)//11 	C 	CLD&GGDKKMM"""GGCJJLL!!!GGBHV$$++BJ77??AABBBB	C
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
Cs   D2E!!E%(E%c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )LoadWord2VecFormatTestc                    |                      t          |          t          |                     |                                D ]>}|                     t	          ||                   t	          ||                              ?d S r   )r)   rD   r  assertSequenceEqualr=  )r   dmrJ  s       r   assert_dict_equal_to_modelz1LoadWord2VecFormatTest.assert_dict_equal_to_model  sv    QQ(((FFHH 	C 	CD$$T!D']]D4MMBBBB	C 	Cr   c                    t           j        j                            d          }t	          |           t           j        j                            t           j        j        |d||          }|t                    }t                                                    d |         }fd|D             }|                     ||           d S )Ntmp_w2vT)clsrD  r   limitbinary_chunk_sizec                 F    i | ]}|                                 |         S r   )lstrip)r    kw2v_dicts     r   
<dictcomp>zHLoadWord2VecFormatTest.verify_load2vec_binary_result.<locals>.<dictcomp>  s'    !Z!Z!Za!((**hqk!Z!Z!Zr   )r   r  r  r  rK  r   r4  _load_word2vec_formatr   rD   r=  r  rR  )r   r[  rW  rV  tmpfile	w2v_modelw2v_keys_postprocessedw2v_dict_postprocesseds    `      r   verify_load2vec_binary_resultz4LoadWord2VecFormatTest.verify_load2vec_binary_result  s    +#//	::+GX>>>M&<<M."3 = 5 5 	  	"MME!%hmmoo!6!6vv!>!Z!Z!Z!ZCY!Z!Z!Z''(>	JJJJJr   c                 V   g dg dg dd}|                      |dd            |                      |dd            |                      |dd            g dg dg dd	}|                      |dd            |                      |dd            |                      |dd            d S )
Nr   r   rB      r$            	   abccdedefr$   rW  rV        rm  cdefgrP  rb  r   r[  s     r   test_load_word2vec_format_basicz6LoadWord2VecFormatTest.test_load_word2vec_format_basic  s    $99$99$99& & 	**8qPT*UUU**8rQU*VVV**8tSW*XXX$99&YY"$ $ 	**8qPT*UUU**8rQU*VVV**8tSW*XXXXXr   c                    g dg dg dd}|                      |dd           |                      |dd           |                      |d	d           g dg dg dd}|                      |dd
           |                      |dd
           |                      |d	d
           g dg dg dd}|                      |dd           |                      |dd           |                      |d	d           g dg dg dd}|                      |dd
           |                      |dd
           |                      |d	d
           d S )Nrd  re  rh  rl  r$   r   rp  rq  rr  r   rs  ru  rv  s     r   test_load_word2vec_format_limitz6LoadWord2VecFormatTest.test_load_word2vec_format_limit  s   $99$99$99& & 	**8qPQ*RRR**8rQR*SSS**8tST*UUU$99$99$99& & 	**8qPQ*RRR**8rQR*SSS**8tST*UUU$99&YY"$ $ 	**8qPQ*RRR**8rQR*SSS**8tST*UUU$99&YY"$ $ 	**8qPQ*RRR**8rQR*SSS**8tST*UUUUUr   c                 ~    g dg dg dd}|                      |dd            |                      |dd           d S )Nrd  re  rh  )z
abccdefdgz

defr$   rp  r   ru  rv  s     r   )test_load_word2vec_format_space_strippingz@LoadWord2VecFormatTest.test_load_word2vec_format_space_stripping  sc    &YY'ii(yy* * 	**8qPT*UUU**8qPQ*RRRRRr   N)r-  r.  r/  rR  rb  rw  ry  r|  r   r   r   rM  rM    sp        C C CK K K$Y Y YV V V<S S S S Sr   rM  __main__z)%(asctime)s : %(levelname)s : %(message)s)r   level)__doc__r5   loggingunittestnumpyrE   gensim.models.keyedvectorsr   r   r   gensim.test.utilsr   r   	getLoggerr-  loggerTestCaser   r1  rK  rM  basicConfigDEBUGmainr   r   r   <module>r     s              S S S S S S S S S S & & & & & & ! ! ! !		8	$	$s
 s
 s
 s
 s
x( s
 s
 s
lD D D D DH% D D DC C CLS LS LS LS LSX. LS LS LS^ z GJRYR_````HMOOOOO r   