§
    �zIfË  ã                   óŠ   — d dl Z d dlmZ d dlmZ d dlmZ d dlmZ  G d„ de j	        ¦  «        Z
 G d„ d	e j	        ¦  «        ZdS )
é    N)Úclosing)Údata)ÚPorterStemmer)ÚSnowballStemmerc                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚSnowballTestc                 óú  — t          dd¦  «        }|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        d	k    sJ ‚|                     d
¦  «        d	k    sJ ‚|                     d¦  «        d	k    sJ ‚|                     d¦  «        d	k    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚t          dd¦  «        }|                     d¦  «        dk    sJ ‚|                     d¦  «        d	k    sJ ‚|                     d¦  «        dk    sJ ‚t          d¦  «        }|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        d	k    sJ ‚|                     d¦  «        dk    sJ ‚dS )z„
        this unit testing for test the snowball arabic light stemmer
        this stemmer deals with prefixes and suffixes
        ÚarabicTu&   Ø§Ù„Ù’Ø¹ÙŽØ±ÙŽØ¨Ù�Ù€Ù€Ù€Ù€Ù€Ù€ÙŠÙ‘ÙŽØ©u   Ø¹Ø±Ø¨u   Ø§Ù„Ø¹Ø±Ø¨ÙŠØ©u   Ù�Ù‚Ø§Ù„ÙˆØ§u   Ù‚Ø§Ù„u   Ø§Ù„Ø·Ø§Ù„Ø¨Ø§Øªu   Ø·Ø§Ù„Ø¨u   Ù�Ø§Ù„Ø·Ø§Ù„Ø¨Ø§Øªu   ÙˆØ§Ù„Ø·Ø§Ù„Ø¨Ø§Øªu   Ø§Ù„Ø·Ø§Ù„Ø¨ÙˆÙ†u   Ø§Ù„Ù„Ø°Ø§Ù†u   Ù…Ù†Fu   Ø§Ù„Ù„Ø°u   Ø§Ù„ÙƒÙ„Ù…Ø§Øªu   ÙƒÙ„Ù…N©r   Ústem)ÚselfÚ
ar_stemmers     úL/var/www/piapp/venv/lib/python3.11/site-packages/nltk/test/unit/test_stem.pyÚtest_arabiczSnowballTest.test_arabic
   s.  € õ % X¨tÑ4Ô4ˆ
Ø�ŠÐGÑHÔHÈHÒTÐTÐTÐTØ�ŠÐ/Ñ0Ô0°HÒ<Ð<Ð<Ð<Ø�Š˜~Ñ.Ô.°(Ò:Ð:Ð:Ð:Ø�ŠÐ1Ñ2Ô2°jÒ@Ð@Ð@Ð@Ø�ŠÐ3Ñ4Ô4¸
ÒBÐBÐBÐBØ�ŠÐ3Ñ4Ô4¸
ÒBÐBÐBÐBØ�ŠÐ1Ñ2Ô2°jÒ@Ð@Ð@Ð@Ø�Š˜~Ñ.Ô.°.Ò@Ð@Ð@Ð@Ø�Š˜vÑ&Ô&¨&Ò0Ð0Ð0Ð0å$ X¨uÑ5Ô5ˆ
Ø�Š˜~Ñ.Ô.°*Ò<Ð<Ð<Ð<Ø�ŠÐ1Ñ2Ô2°jÒ@Ð@Ð@Ð@Ø�ŠÐ/Ñ0Ô0°HÒ<Ð<Ð<Ð<å$ XÑ.Ô.ˆ
Ø�ŠÐGÑHÔHÈHÒTÐTÐTÐTØ�ŠÐ/Ñ0Ô0°HÒ<Ð<Ð<Ð<Ø�Š˜~Ñ.Ô.°(Ò:Ð:Ð:Ð:Ø�ŠÐ1Ñ2Ô2°jÒ@Ð@Ð@Ð@Ø�ŠÐ/Ñ0Ô0°HÒ<Ð<Ð<Ð<Ð<Ð<ó    c                 óZ   — t          d¦  «        }|                     d¦  «        dk    sJ ‚d S )NÚrussianu   Ð°Ð²Ð°Ð½Ñ‚Ð½ÐµÐ½ÑŒÐºÐ°Ñ�u   Ð°Ð²Ð°Ð½Ñ‚Ð½ÐµÐ½ÑŒÐºr   )r   Ústemmer_russians     r   Útest_russianzSnowballTest.test_russian'   s6   € Ý)¨)Ñ4Ô4ˆØ×#Ò#Ð$>Ñ?Ô?ÐCYÒYÐYÐYÐYÐYÐYr   c                 ó  — t          d¦  «        }t          dd¬¦  «        }|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚d S )NÚgermanT)Úignore_stopwordsu	   SchrÃ¤nkeÚschrankÚkeinenÚkeinr   )r   Ústemmer_germanÚstemmer_german2s      r   Útest_germanzSnowballTest.test_german+   s£   € Ý(¨Ñ2Ô2ˆÝ)¨(ÀTÐJÑJÔJˆà×"Ò" =Ñ1Ô1°YÒ>Ð>Ð>Ð>Ø×#Ò# MÑ2Ô2°iÒ?Ð?Ð?Ð?à×"Ò" 8Ñ,Ô,°Ò6Ð6Ð6Ð6Ø×#Ò# HÑ-Ô-°Ò9Ð9Ð9Ð9Ð9Ð9r   c                 ó�   — t          d¦  «        }|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚d S )NÚspanishÚ	VisionadoÚvisionÚalgueÚalgur   ©r   Ústemmers     r   Útest_spanishzSnowballTest.test_spanish5   sQ   € Ý! )Ñ,Ô,ˆà�|Š|˜KÑ(Ô(¨HÒ4Ð4Ð4Ð4ð �|Š|˜GÑ$Ô$¨Ò.Ð.Ð.Ð.Ð.Ð.r   c                 óZ   — t          d¦  «        }|                     d¦  «        dk    sJ ‚d S )NÚenglishzy'sÚyr   r%   s     r   Útest_short_strings_bugz#SnowballTest.test_short_strings_bug=   s2   € Ý! )Ñ,Ô,ˆØ�|Š|˜EÑ"Ô" cÒ)Ð)Ð)Ð)Ð)Ð)r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r'   r+   © r   r   r   r   	   sb   € € € € € ð=ð =ð =ð:Zð Zð Zð:ð :ð :ð/ð /ð /ð*ð *ð *ð *ð *r   r   c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	Ú
PorterTestc                 óì   — t          t          j        d¦  «                             d¬¦  «        ¦  «        5 }|                     ¦   «                              ¦   «         cd d d ¦  «         S # 1 swxY w Y   d S )Nz*stemmers/porter_test/porter_vocabulary.txtúutf-8©Úencoding)r   r   ÚfindÚopenÚreadÚ
splitlines©r   Úfps     r   Ú_vocabularyzPorterTest._vocabularyC   s´   € ÝÝŒIÐBÑCÔC×HÒHØ ð Iñ ô ñ
ô 
ð 	*ð Ø—7’7‘9”9×'Ò'Ñ)Ô)ð	*ð 	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*s   ¶&A)Á)A-Á0A-c                 óì   — t          |¬¦  «        }t          |                      ¦   «         |¦  «        D ]@\  }}|                     |¦  «        }||k    s J d                     ||||¦  «        ¦   «         ‚ŒAd S )N)Úmodez*{} should stem to {} in {} mode but got {})r   Úzipr<   r   Úformat)r   Ústemmer_modeÚexpected_stemsr&   ÚwordÚ	true_stemÚour_stems          r   Ú_test_against_expected_outputz(PorterTest._test_against_expected_outputK   s‘   € Ý \Ð2Ñ2Ô2ˆÝ" 4×#3Ò#3Ñ#5Ô#5°~ÑFÔFð 		ð 		‰OˆD�)Ø—|’| DÑ)Ô)ˆHà˜IÒ%Ð%Ð%Ø;×BÒBØØØØñ	ô ñ &Ô%Ð%Ð%ð		ð 		r   c                 ó*  — t          t          j        d¦  «                             d¬¦  «        ¦  «        5 }|                      t
          j        |                     ¦   «                              ¦   «         ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )az  Tests all words from the test vocabulary provided by M Porter

        The sample vocabulary and output were sourced from
        https://tartarus.org/martin/PorterStemmer/voc.txt and
        https://tartarus.org/martin/PorterStemmer/output.txt
        and are linked to from the Porter Stemmer algorithm's homepage
        at https://tartarus.org/martin/PorterStemmer/
        z-stemmers/porter_test/porter_martin_output.txtr3   r4   N)	r   r   r6   r7   rF   r   ÚMARTIN_EXTENSIONSr8   r9   r:   s     r   Útest_vocabulary_martin_modez&PorterTest.test_vocabulary_martin_modeX   sÓ   € õ ÝŒIÐEÑFÔF×KÒKØ ð Lñ ô ñ
ô 
ð 	ð Ø×.Ò.ÝÔ/°·²±´×1EÒ1EÑ1GÔ1Gñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ó   ¶ABÂBÂBc                 ó*  — t          t          j        d¦  «                             d¬¦  «        ¦  «        5 }|                      t
          j        |                     ¦   «                              ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz+stemmers/porter_test/porter_nltk_output.txtr3   r4   )	r   r   r6   r7   rF   r   ÚNLTK_EXTENSIONSr8   r9   r:   s     r   Útest_vocabulary_nltk_modez$PorterTest.test_vocabulary_nltk_modej   sÑ   € ÝÝŒIÐCÑDÔD×IÒIØ ð Jñ ô ñ
ô 
ð 	ð Ø×.Ò.ÝÔ-¨r¯wªw©y¬y×/CÒ/CÑ/EÔ/Eñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	rJ   c                 óü  — t          t          j        d¦  «                             d¬¦  «        ¦  «        5 }|                      t
          j        |                     ¦   «                              ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t
          j        t          j        d¦  «                             d¬¦  «                             ¦   «                              ¦   «         ¦  «         d S )Nz/stemmers/porter_test/porter_original_output.txtr3   r4   )	r   r   r6   r7   rF   r   ÚORIGINAL_ALGORITHMr8   r9   r:   s     r   Útest_vocabulary_original_modez(PorterTest.test_vocabulary_original_modet   s  € õ ÝŒIÐGÑHÔH×MÒMØ ð Nñ ô ñ
ô 
ð 	ð Ø×.Ò.ÝÔ0°"·'²'±)´)×2FÒ2FÑ2HÔ2Hñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×*Ò*ÝÔ,ÝŒIÐGÑHÔHßŠT˜7ˆTÑ#Ô#ßŠT‰VŒVßŠZ‰\Œ\ñ	
ô 	
ð 	
ð 	
ð 	
s   ¶ABÂBÂBc                 óT   — t          ¦   «                              d¦  «        dk    sJ ‚dS )z„Test for bug https://github.com/nltk/nltk/issues/1581

        Ensures that 'oed' can be stemmed without throwing an error.
        ÚoedÚoN©r   r   )r   s    r   Útest_oed_bugzPorterTest.test_oed_bugŒ   s-   € õ
 ‰Œ×#Ò# EÑ*Ô*¨cÒ1Ð1Ð1Ð1Ð1Ð1r   c                 ó8  — t          ¦   «         }|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     dd¬¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     dd¬¦  «        dk    sJ ‚d	S )
z�Test for improvement on https://github.com/nltk/nltk/issues/2507

        Ensures that stems are lowercased when `to_lowercase=True`
        ÚOnÚonÚIÚiF)Úto_lowercaseÚGithubÚgithubNrT   )r   Úporters     r   Útest_lowercase_optionz PorterTest.test_lowercase_option“   s¬   € õ
 ‘”ˆØ�{Š{˜4Ñ Ô  DÒ(Ð(Ð(Ð(Ø�{Š{˜3ÑÔ 3Ò&Ð&Ð&Ð&Ø�{Š{˜3¨Uˆ{Ñ3Ô3°sÒ:Ð:Ð:Ð:Ø�{Š{˜8Ñ$Ô$¨Ò0Ð0Ð0Ð0Ø�{Š{˜8°%ˆ{Ñ8Ô8¸HÒDÐDÐDÐDÐDÐDr   N)
r,   r-   r.   r<   rF   rI   rM   rP   rU   r_   r/   r   r   r1   r1   B   s‚   € € € € € ð*ð *ð *ðð ð ðð ð ð$ð ð ð
ð 
ð 
ð02ð 2ð 2ð
Eð 
Eð 
Eð 
Eð 
Er   r1   )ÚunittestÚ
contextlibr   Únltkr   Únltk.stem.porterr   Únltk.stem.snowballr   ÚTestCaser   r1   r/   r   r   ú<module>rf      sÏ   ðØ €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ø .Ð .Ð .Ð .Ð .Ð .ð6*ð 6*ð 6*ð 6*ð 6*�8Ô$ñ 6*ô 6*ð 6*ðr[Eð [Eð [Eð [Eð [E�Ô"ñ [Eô [Eð [Eð [Eð [Er   