§
    �zIf  ã                   óX   — d dl Z d dlmZ d dlmZ d dlmZ  G d„ de j        ¦  «        ZdS )é    N)ÚCounter)Útimeit)Ú
Vocabularyc                   óÎ   — e Zd ZdZe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 ej        d¬¦  «        d„ ¦   «         ZdS )ÚNgramModelVocabularyTestsztests Vocabulary Classc                 ó6   — t          g d¢d¬¦  «        | _        d S ©N)ÚzÚaÚbÚcÚfÚdÚeÚgr   r   r   r   Úwé   ©Ú
unk_cutoff)r   Úvocab)Úclss    úU/var/www/piapp/venv/lib/python3.11/site-packages/nltk/test/unit/lm/test_vocabulary.pyÚ
setUpClassz$NgramModelVocabularyTests.setUpClass   s(   € åØMÐMÐMØð
ñ 
ô 
ˆŒ	ˆ	ˆ	ó    c                 ó:   — |                       | j        ¦  «         d S ©N)Ú
assertTruer   ©Úselfs    r   Útest_truthinessz)NgramModelVocabularyTests.test_truthiness   s   € Ø�Š˜œ
Ñ#Ô#Ð#Ð#Ð#r   c                 óF   — |                       | j        j        d¦  «         d S )Nr   )ÚassertEqualr   Úcutoffr   s    r   Útest_cutoff_value_set_correctlyz9NgramModelVocabularyTests.test_cutoff_value_set_correctly   s#   € Ø×Ò˜œÔ*¨AÑ.Ô.Ð.Ð.Ð.r   c                 ó„   — |                       t          ¦  «        5  d| j        _        d d d ¦  «         d S # 1 swxY w Y   d S )Né   )ÚassertRaisesÚAttributeErrorr   r#   r   s    r   Útest_unable_to_change_cutoffz6NgramModelVocabularyTests.test_unable_to_change_cutoff   s„   € Ø×Ò�~Ñ.Ô.ð 	"ð 	"Ø !ˆDŒJÔð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	"ð 	"s   ›5µ9¼9c                 óà   — |                       t          ¦  «        5 }t          dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}|                      |t	          |j        ¦  «        ¦  «         d S )NÚabcr   r   z*Cutoff value cannot be less than 1. Got: 0)r'   Ú
ValueErrorr   r"   ÚstrÚ	exception)r   Úexc_infoÚexpected_error_msgs      r   Útest_cutoff_setter_checks_valuez9NgramModelVocabularyTests.test_cutoff_setter_checks_value#   s©   € Ø×Ò�zÑ*Ô*ð 	,¨hÝ�u¨Ð+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,àIÐØ×ÒÐ+­S°Ô1CÑ-DÔ-DÑEÔEÐEÐEÐEs   ›9¹=Á =c                 óê   — |                       | j        j        d         d¦  «         |                       | j        j        d         d¦  «         |                       | j        j        d         d¦  «         d S )Nr   r   r   r   é   )r"   r   Úcountsr   s    r   Útest_counts_set_correctlyz3NgramModelVocabularyTests.test_counts_set_correctly)   sh   € Ø×Ò˜œÔ*¨3Ô/°Ñ3Ô3Ð3Ø×Ò˜œÔ*¨3Ô/°Ñ3Ô3Ð3Ø×Ò˜œÔ*¨3Ô/°Ñ3Ô3Ð3Ð3Ð3r   c                 ó®   — |                       d| j        v ¦  «         |                      d| j        v ¦  «         |                      d| j        v ¦  «         d S )Nr   r   r
   )r   r   ÚassertFalser   s    r   Ú%test_membership_check_respects_cutoffz?NgramModelVocabularyTests.test_membership_check_respects_cutoff.   sW   € à�Š˜˜tœzÐ)Ñ*Ô*Ð*à×Ò˜ ¤
Ð*Ñ+Ô+Ð+à×Ò˜ ¤
Ð*Ñ+Ô+Ð+Ð+Ð+r   c                 óV   — |                       dt          | j        ¦  «        ¦  «         d S )Né   )r"   Úlenr   r   s    r   Útest_vocab_len_respects_cutoffz8NgramModelVocabularyTests.test_vocab_len_respects_cutoff6   s(   € ð 	×Ò˜�C ¤
™OœOÑ,Ô,Ð,Ð,Ð,r   c                 óä   — g d¢}g d¢}|                       |t          | j        j                             ¦   «         ¦  «        ¦  «         |                       |t          | j        ¦  «        ¦  «         d S )N)	r   r   r   r   r   r   r   r   r
   )r   r   r   r   ú<UNK>)ÚassertCountEqualÚlistr   r4   Úkeys)r   Úvocab_countsÚvocab_itemss      r   Útest_vocab_iter_respects_cutoffz9NgramModelVocabularyTests.test_vocab_iter_respects_cutoff;   sm   € ØDÐDÐDˆØ3Ð3Ð3ˆà×Ò˜l­D°´Ô1B×1GÒ1GÑ1IÔ1IÑ,JÔ,JÑKÔKÐKØ×Ò˜k­4°´
Ñ+;Ô+;Ñ<Ô<Ð<Ð<Ð<r   c                 óF  — t          d¬¦  «        }|                      t          |¦  «        d¦  «         |                      |¦  «         |                      |j        |¦  «         |                     t          d¦  «        ¦  «         |                      |j        |¦  «         d S )Nr   r   r   Úabcde)r   r"   r;   r7   ÚassertInÚ	unk_labelÚupdater@   )r   Úemptys     r   Útest_update_empty_vocabz1NgramModelVocabularyTests.test_update_empty_vocabB   sŒ   € Ý aÐ(Ñ(Ô(ˆØ×Ò�˜U™œ QÑ'Ô'Ð'Ø×Ò˜ÑÔÐØ�Š�e”o uÑ-Ô-Ð-à�Š•T˜'‘]”]Ñ#Ô#Ð#Ø�Š�e”o uÑ-Ô-Ð-Ð-Ð-r   c                 ó¾   — |                       | j                             d¦  «        d¦  «         |                       | j                             d¦  «        d¦  «         d S )Nr   r   r>   ©r"   r   Úlookupr   s    r   Útest_lookupz%NgramModelVocabularyTests.test_lookupK   sT   € Ø×Ò˜œ×*Ò*¨3Ñ/Ô/°Ñ5Ô5Ð5Ø×Ò˜œ×*Ò*¨3Ñ/Ô/°Ñ9Ô9Ð9Ð9Ð9r   c           
      óº  — |                       | j                             ddg¦  «        d¦  «         |                       | j                             d¦  «        d¦  «         |                       | j                             d¦  «        d¦  «         |                       | j                             t          t          t          d¦  «        ¦  «        ¦  «        d¦  «         d S )Nr   r   ©r   r   )r   r   ©r   r>   r&   )r>   r>   r>   )r"   r   rN   Úmapr-   Úranger   s    r   Útest_lookup_iterablesz/NgramModelVocabularyTests.test_lookup_iterablesO   sÀ   € Ø×Ò˜œ×*Ò*¨C°¨:Ñ6Ô6¸
ÑCÔCÐCØ×Ò˜œ×*Ò*¨:Ñ6Ô6¸
ÑCÔCÐCØ×Ò˜œ×*Ò*¨:Ñ6Ô6¸ÑGÔGÐGØ×ÒØŒJ×Ò�c¥#¥u¨Q¡x¤xÑ0Ô0Ñ1Ô1Ð3Nñ	
ô 	
ð 	
ð 	
ð 	
r   c           	      óÀ  — |                       | j                             d¦  «        d¦  «         |                       | j                             g ¦  «        d¦  «         |                       | j                             t          g ¦  «        ¦  «        d¦  «         |                       | j                             d„ t	          dd¦  «        D ¦   «         ¦  «        d¦  «         d S )N© c              3   ó   K  — | ]}|V — Œd S r   rW   )Ú.0Úns     r   ú	<genexpr>zHNgramModelVocabularyTests.test_lookup_empty_iterables.<locals>.<genexpr>[   s"   è è € Ð*BÐ*B°¨1Ð*BÐ*BÐ*BÐ*BÐ*BÐ*Br   r   )r"   r   rN   ÚiterrT   r   s    r   Útest_lookup_empty_iterablesz5NgramModelVocabularyTests.test_lookup_empty_iterablesW   s½   € Ø×Ò˜œ×*Ò*¨2Ñ.Ô.°Ñ3Ô3Ð3Ø×Ò˜œ×*Ò*¨2Ñ.Ô.°Ñ3Ô3Ð3Ø×Ò˜œ×*Ò*­4°©8¬8Ñ4Ô4°bÑ9Ô9Ð9Ø×Ò˜œ×*Ò*Ð*BÐ*Bµe¸A¸q±k´kÐ*BÑ*BÔ*BÑBÔBÀBÑGÔGÐGÐGÐGr   c                 ó:  — |                       | j                             ddgddgg¦  «        d¦  «         |                       | j                             ddgdg¦  «        d¦  «         |                       | j                             ddggggg¦  «        d¦  «         d S )Nr   r   r   )rQ   rR   )rQ   r>   ))))rQ   rM   r   s    r   Útest_lookup_recursivez/NgramModelVocabularyTests.test_lookup_recursive]   sª   € Ø×ÒØŒJ×Ò  S˜z¨C°¨:Ð6Ñ7Ô7Ð9Uñ	
ô 	
ð 	
ð 	×Ò˜œ×*Ò*¨S°#¨J¸Ð+<Ñ=Ô=Ð?TÑUÔUÐUØ×Ò˜œ×*Ò*°°S¨z¨l¨^Ð,<Ð+=Ñ>Ô>Ð@VÑWÔWÐWÐWÐWr   c                 óV  — |                       t          ¦  «        5  | j                             d ¦  «         d d d ¦  «         n# 1 swxY w Y   |                       t          ¦  «        5  t	          | j                             d d g¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r   ©r'   Ú	TypeErrorr   rN   r@   r   s    r   Útest_lookup_Nonez*NgramModelVocabularyTests.test_lookup_Noned   s  € Ø×Ò�yÑ)Ô)ð 	$ð 	$ØŒJ×Ò˜dÑ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$à×Ò�yÑ)Ô)ð 	2ð 	2Ý�”×"Ò" D¨$ <Ñ0Ô0Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ó#   ›AÁAÁ	AÁ'*BÂB"Â%B"c                 óV  — |                       t          ¦  «        5  | j                             d¦  «         d d d ¦  «         n# 1 swxY w Y   |                       t          ¦  «        5  t	          | j                             ddg¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr3   r   ra   r   s    r   Útest_lookup_intz)NgramModelVocabularyTests.test_lookup_intj   s  € Ø×Ò�yÑ)Ô)ð 	!ð 	!ØŒJ×Ò˜aÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!à×Ò�yÑ)Ô)ð 	,ð 	,Ý�”×"Ò" A q 6Ñ*Ô*Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,rd   c                 ób   — |                       | j                             d¦  «        d¦  «         d S )NÚ r>   rM   r   s    r   Útest_lookup_empty_strz/NgramModelVocabularyTests.test_lookup_empty_strp   s.   € Ø×Ò˜œ×*Ò*¨2Ñ.Ô.°Ñ8Ô8Ð8Ð8Ð8r   c                 ó$  — t          g d¢d¬¦  «        }t          g d¢d¬¦  «        }t          g d¢dd¬¦  «        }t          ddgd¬¦  «        }|                      ||¦  «         |                      ||¦  «         |                      ||¦  «         d S )N)r   r   r   r3   r   Úblah)r   rH   r   r   )r   r"   ÚassertNotEqual)r   Úv1Úv2Úv3Úv4s        r   Útest_eqalityz&NgramModelVocabularyTests.test_eqalitys   s¤   € Ý˜˜˜°AÐ6Ñ6Ô6ˆÝ˜˜˜°AÐ6Ñ6Ô6ˆÝ˜˜˜°AÀÐHÑHÔHˆÝ˜˜c˜
¨qÐ1Ñ1Ô1ˆà×Ò˜˜RÑ Ô Ð Ø×Ò˜B Ñ#Ô#Ð#Ø×Ò˜B Ñ#Ô#Ð#Ð#Ð#r   c                 óV   — |                       t          | j        ¦  «        d¦  «         d S )Nz8<Vocabulary with cutoff=2 unk_label='<UNK>' and 5 items>)r"   r-   r   r   s    r   Útest_strz"NgramModelVocabularyTests.test_str}   s2   € Ø×ÒÝ�”
‰OŒOÐWñ	
ô 	
ð 	
ð 	
ð 	
r   c           	      óx   — |                       | j        t          t          g d¢¦  «        d¬¦  «        ¦  «         d S r	   )r"   r   r   r   r   s    r   Útest_creation_with_counterz4NgramModelVocabularyTests.test_creation_with_counter‚   sV   € Ø×ÒØŒJÝÝØUÐUÐUñô ð ð	ñ ô ñ	
ô 	
ð 	
ð 	
ð 	
r   z?Test is known to be flaky as it compares (runtime) performance.)Úreasonc                 ó  — t          d¦  «        }ddlm} t          |                     ¦   «         ¦  «        }t	          dt          ¦   «         ¬¦  «        }t	          dt          ¦   «         ¬¦  «        }|                      ||d¬¦  «         d S )	NrF   r   )Úenglishzlen(small_vocab))Úglobalszlen(large_vocab)r3   )Úplaces)r   Únltk.corpus.europarl_rawrx   Úwordsr   ÚlocalsÚassertAlmostEqual)r   Úsmall_vocabrx   Úlarge_vocabÚsmall_vocab_len_timeÚlarge_vocab_len_times         r   Útest_len_is_constantz.NgramModelVocabularyTests.test_len_is_constant�   s�   € õ
 ! Ñ)Ô)ˆØ4Ð4Ð4Ð4Ð4Ð4å  §¢¡¤Ñ1Ô1ˆõ  &Ð&8Å&Á(Ä(ÐKÑKÔKÐÝ%Ð&8Å&Á(Ä(ÐKÑKÔKÐð 	×ÒÐ3Ð5IÐRSÐÑTÔTÐTÐTÐTr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr   r    r$   r)   r1   r5   r8   r<   rD   rK   rO   rU   r]   r_   rc   rf   ri   rq   rs   ru   ÚunittestÚskiprƒ   rW   r   r   r   r      s’  € € € € € Ø Ð àð
ð 
ñ „[ð
ð$ð $ð $ð/ð /ð /ð"ð "ð "ðFð Fð Fð4ð 4ð 4ð
,ð ,ð ,ð-ð -ð -ð
=ð =ð =ð.ð .ð .ð:ð :ð :ð
ð 
ð 
ðHð Hð HðXð Xð Xð2ð 2ð 2ð,ð ,ð ,ð9ð 9ð 9ð$ð $ð $ð
ð 
ð 
ð
	
ð 	
ð 	
ð €X„]ØPðñ ô ðUð Uñô ðUð Uð Ur   r   )r‰   Úcollectionsr   r   Únltk.lmr   ÚTestCaser   rW   r   r   ú<module>rŽ      s‘   ðð €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð ðMUð MUð MUð MUð MU Ô 1ñ MUô MUð MUð MUð MUr   