o
    qit,                     @   s   d Z ddlmZ ddlmZmZmZmZmZ ddlm	Z	m
Z
 ddlmZmZmZmZ dd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd ZdS )zTest cases for character class    )	normalize)normalize_charactersCORRECT_URDU_CHARACTERSnormalize_combine_charactersCOMBINE_URDU_CHARACTERSreplace_digits)punctuations_spaceremove_diacritics)URDU_ALL_CHARACTERSURDU_ALPHABETSURDU_DIGITSURDU_DIACRITICSc                  C   s>   d} t | }t|tsJ |D ]}|dkrq|tv sJ qdS )z Testing main functionuJ   پاکستان ﻤﯿﮟ وسائل کی کوئی کمی نہیں ﮨﮯ۔ N)r   
isinstancestrr
   )textexpectedchar r   _/home/ubuntu/.local/lib/python3.10/site-packages/urduhack/normalization/tests/test_character.pytest_normalize   s   r   c                  C   sp  i ddddddddd	d
dddddddddddddddddddddd d!d"i d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDi dEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfi dgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddddēddƓddȓddʓdd̓i ddΓddГddғddԓdd֓ddؓddړddܓddޓddddddddddddddddddddddddddddd} |   D ]/\}}t|}||ksJ |D ]}|dkrqt|dksJ |tv sJ |qqdS )z8Normalize characters Test case arabic words : Urdu wordsu   ﻣﯿﺎﮞu   میاںu	   ﺗﮭﺎu   تھاu	   ﻧﮩﯽu   نہیu   ﺩﺭﺑﺎﻥu
   دربانu   ﺷﺮﯾﮏu   شریکu   ﻭﺯﯾﺮu   وزیرu   ﮐﻮﻧﮯu   کونےu   ﺭﺍﺿﯽu   راضیu	   ﻣﺠﮭu   مجھu   ﭼﮭﭙﺮu   چھپرu   ﻧﻮﺟﻮﺍﻥu   نوجوانu   ﻣﻨﺰﻝu   منزلu   ﻟﮕﺎﺗﮯu
   لگاتےu   ﺟﻮﻧﻌﻤﺖu   جونعمتu   ﻣﺴﻨﺪﻭﮞu   مسندوںu	   ﭘﺎﮎu   پاکu   ﻋﺎﻓﯿﺖu
   عافیتu   ﺑﺬﺍﺕu   بذاتu   ﻧﮑﻠﻮu   نکلوu   ﭘﯿﺪﺍu   پیداu   ﺗﻮﮌﺍu   توڑاu	   ﮔﯿﺎu   گیاu	   ﺧﯿﺮu   خیرu	   ﺑﻌﺪu   بعدu   ﭼﺮﺑﯽu   چربیu   ﺧﺎﻣﻮﺷﯽu   خاموشیu	   ﮨﭩﮯu   ہٹےu   ﺍﻭﻻﺩu
   اولادu   ﺩﯾﻨﯽu   دینیu   ﭼﺎﮨﮯu   چاہےu	   ﮐﮩﺎu   کہاu   ﺧﺎﻟﯽu   خالیu   ﻣﺎﻧﮕﯿﮟu   مانگیںu   ﺭﮨﺘﮯu   رہتےu   ﻣﻔﻠﺴﯽu
   مفلسیu   ﺩﺭﺑﺎﺭﯼu   درباریu   ﺑﺘﺎﺋﯿﮟu   بتائیںu	   ﮨﻤﺖu   ہمتu	   ﻣﺮﺩu   مردu   ﺩﻭﺳﺖu   دوستu   ﻋﺎﺷﻘﻮu
   عاشقوu   ﺟﻠﻮﮦu   جلوہu   ﺭﮨﺘﺎu   رہتاu   ﮈﺍﮐﭩﺮu
   ڈاکٹرu   ﺭﻫﺘﯽu   رھتیu   ﺍﯾﺴﮯu   ایسےu	   ﺻﺎﻑu   صافu   ﺗﻌﻠﯿﻢu
   تعلیمu   ﺁﭘﮑﺎu   آپکاu   ﻣﺮﺩﺍﻥu
   مردانu   ﺣﺮﺍﻣﯽu
   حرامیu   ﻧﮑu   نکu   ﺯﯾﺎﺩﮦu
   زیادہu   ﻧﻮﺟﻮﻥu
   نوجونu   ﺧﺎﻧﮯu   خانےu   ﺭﺍﮦ ﺳﮯu   راہ سےu   ﻣﺤﺘﺮﻣﮧu   محترمہu   ﺟﺎﻧﻮﺭu
   جانورu   ﻧﮯﺍﯾﮏu
   نےایکu   ﻣﺤﺒﻮﺏu
   محبوبu	   ﺧﻮﺵu   خوشu   ﺳﺎﺋﻞu   سائلu   ﮐﺮu   کرu   ﮐﮩﺎﮐﮧu
   کہاکہu   ﻧﺴﻮﺍﻧﯽu   نسوانیu   ﮨﻤﯿﮟ ﺑﻬﯽu   ہمیں بھیu   ﺍﺭﺍﺩﮦ ﺑﺘﺎﯾﺎu   ارادہ بتایاu	   ﺑﺎﭖu   باپu   ﻟﮕﯿﮟu   لگیںu	   ﺷﺨﺺu   شخصu   ﺭﮨﺘﺎﮨﮯu   رہتاہےu   ﻗﺪﺭﺕu   قدرتu   ﻣﺮﺿﯽu   مرضیu   ﮔﯿﺎﺍﻭﺭu   گیااورu	   ﮐﭽﮫu   کچھu	   ﻟﮑﮫu   لکھu   ﺍﻋﻈﻢu   اعظمu   ﺷﺨﺼﯿﺖu
   شخصیتu	   ﺧﻼﻑu   خلافu	   ﻏﯿﺮu   غیرu	   ﺳﻮﺩu   سودu   ﺑﮩﺘﺮu   بہترu   ﻫﻮﺋﮯu   ھوئےu   ﺳﻼﻣﺖu
   سلامتu   ﺭﺍﺑﻄﮧu
   رابطہu   ﮨﻮﮔﯽu   ہوگیu	   ﻣﺮﺽu   مرضu	   ﺳﻔﺮu   سفرu   ﻣﻔﺴﺮu   مفسرu	   ﻧﺼﻒu   نصفu   ﮨﻮﮞ ﺟﺲu   ہوں جسu   ﭘﯿﭙﺮﺯu
   پیپرزu   ﺑﻦu   بنu   ﮔﻨﮩﮕﺎﺭu   گنہگارu	   ﺭﮨﯽu   رہیu   ﻣu   مu   ﺧﺎﻭﻧﺪu
   خاوندu   ﺩﮐﮭﺎﺗﺎu   دکھاتاu   ﺟﺎﺳﮑﺘﮯu   جاسکتےu   ﺣﻞu   حلu   ﺗﺠﺮﺑﮧu
   تجربہu   ﮨﺎﺭﻧﮯu
   ہارنےu	   ﺳﺠﺎu   سجاu   ﺭﻭﻧﻖu   رونقu   ﺑﻨﻮﮞu   بنوںu   ﺳﮑﺘﯽu   سکتیu   ﮐﮧ ﺭﺍﺳﺘﮯu   کہ راستےu   ﻭﺍﻟﯽu   والیu   ﺣﻔﺎﻇﺖu
   حفاظتu   ﺳﯿﺪﮬﺎu
   سیدھاu   ﺍﻭﻧﭩﻨﯽu   اونٹنیu   ﺟﺎﻧﮯu   جانےu   ﺑﻼﯾﺎu
   بلایاu   ﻓﺎﺋﺪﮦu
   فائدہu   ﮔﺎﺋﮯu   گائےu   ﻻﮨﻮﺭu
   لاہورu   ﺑﭩﮭﺎﺅﮞu   بٹھاؤںu   اشیاﺀu
   اشیاءu   کیلﺌےu
   کیلئےu   باعث   کیا خطاu   حم مر کر   تم کیا کرu   کن فا یا کنu   مر کر فائدہu   تم کیا کرو   گنہگار مر   کر موتu   قریب)u	   باعﺚu   كيا خطاu   حم مر كرu   تم كيا كرu   كن فا يا كنu   مر كر ﻓﺎﺋﺪﮦu   تم كيا كروr   r   r   r   u   قريبr      N)itemsr   lenr
   wordskeyvalnormr   r   r   r   test_normalize_characters   s  	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw  
r#   c                  C   st   t D ]} | tv s
J qtD ]} | tv sJ qt D ]}|D ]} | tvs&J qqtD ]}|D ]} | tv s6J q.q*dS ) Test case N)r   r   r   valuesr
   )r   _listr    r   r   r   test_correct_urdu_characters   s   r'   c               	   C   sZ   ddddddddd	} |   D ]\}}t|}||ksJ |D ]
}|tv s)J |qqd
S )z	Test caseu   آزادu   آپu   آدھےu   آجu   آرامu   جرأتu   کوجرأتu   أعظم)u
   آزادu   آپu
   آدھےu   آجu
   آرامu
   جرأتu   کوجرأتu
   أعظمN)r   r   r
   r   r   r   r   !test_normalize_combine_characters   s    
r(   c                  C   s   t D ]} t| dksJ | D ]}|tv sJ qqt  D ]}t|dks&J |tv s,J |tv s2J qt  D ]\}}t|dksCJ t|dksKJ q7dS )r$      r   N)r   r   r
   r%   r   r   )charsr   r    valuer   r   r   test_combine_urdu_characters   s   r,   c                  C   sH   dddddddddddd	d
dd} |   D ]\}}|t|ks!J qdS )z
Test cases   ہوتا۔ انہوںu   ہوتا، انہوں   ۔۔۔۔۔۔۔۔۔   ۔۔۔۔،،۔۔۔۔۔u   ہوتا ہے۔ ٹائپu   ہوتا ہے؟ ٹائپu   ہوتا ہے، ٹائپu   ہوتا ہے؟  ٹائپu   ہوتا ہے۔  ٹائپu   ہوتا ہے،  ٹائپ   ہوتا ہے،
)r-   u   ہوتا،انہوںr.   r/   u   ہوتا ہے ۔ ٹائپu   ہوتا ہے ۔ٹائپu   ہوتا ہے؟ٹائپu   ہوتا ہے،ٹائپu   ہوتا ہے ؟ٹائپu   ہوتا ہے   ؟  ٹائپu   ہوتا ہے۔ٹائپu   ہوتا ہے   ۔  ٹائپu   ہوتا ہے   ،  ٹائپr0   N)r   r   )datar    r+   r   r   r   test_punctuations_space   s$   r2   c                  C   sv   ddddddddd	d
d
} |   D ]'\}}t|}||ksJ |D ]}|tvs+J ||dkr7|tv s7J |q!qdS )zremove_diacritics Test caseu   اَبu   شیرِ پنجابu   اُوگولu   اِیu   اَباُوگلu
   شرِپنu   اَاُاِیولu   اَےu   اُوشیرu   اَو)
u   ابu   شیر پنجابu
   اوگولu   ایu   اباوگلu   شرپنu   ااایولu   اےu
   اوشیرu   اوr   N)r   r	   r   r   r   r   r   r   test_remove_diacritics   s*   r3   c                  C   s0   d} d}t || ksJ t | dd|ksJ dS )z	Test CaseuT   سکیورٹی حکام کے مطابق جنوبی صوبے 550 میں رات گئےuW   سکیورٹی حکام کے مطابق جنوبی صوبے ۵۵۰ میں رات گئےF)with_engN)r   )eng_textur_textr   r   r   test_replace_digits  s   r7   N)__doc__urduhackr    urduhack.normalization.characterr   r   r   r   r   r   r	   urduhack.urdu_charactersr
   r   r   r   r   r#   r'   r(   r,   r2   r3   r7   r   r   r   r   <module>   s    