o
    rZh$
                     @   sN   d Z ddlZddlmZ ddlmZmZmZ ddlm	Z	 G dd dej
ZdS )z(
Tests for IBM Model 1 training methods
    N)defaultdict)AlignedSentIBMModel	IBMModel1)AlignmentInfoc                   @   s$   e Zd Zdd Zdd Zdd ZdS )TestIBMModel1c                 C   sh   t ddgg dt g dddgg}t|d}|| | |jd d d | |jd d  d d S )	Nhameggsschinkenr   eierspamr   r   r   r   r   r   gUUUUUU?)r   r   set_uniform_probabilitiesassertEqualtranslation_tableselfcorpusmodel1 r   Q/var/www/auris/lib/python3.10/site-packages/nltk/test/unit/translate/test_ibm1.py*test_set_uniform_translation_probabilities   s   

z8TestIBMModel1.test_set_uniform_translation_probabilitiesc                 C   sT   t ddgg dt g dddgg}t|d}|| | |jd d tj d S )	Nr   r	   r
   r   r   r   parrotr   )r   r   r   r   r   r   ZMIN_PROBr   r   r   r   ?test_set_uniform_translation_probabilities_of_non_domain_values   s   

zMTestIBMModel1.test_set_uniform_translation_probabilities_of_non_domain_valuesc           
      C   s   g d}g d}t ||g}tdd g| dg| d }tdd }d|d d	< d|d
 d< d|d d < d|d d< d|d d< d|d d< t|d}||_||}d}|}	| t|dt|	d d S )N)ichessejagern   räucherschinken)ilovetoeatsmokedr   )r         r         r(   ZUNUSEDc                   S   s   t tS )N)r   floatr   r   r   r   <lambda>8   s    z5TestIBMModel1.test_prob_t_a_given_s.<locals>.<lambda>g\(\?r    r   r!   r   r"   r#   r   r$   r   r   r   gX?r&   )r   r   r   r   r   Zprob_t_a_given_sr   round)
r   Zsrc_sentenceZtrg_sentencer   Zalignment_infor   r   ZprobabilityZlexical_translationZexpected_probabilityr   r   r   test_prob_t_a_given_s,   s,   

z#TestIBMModel1.test_prob_t_a_given_sN)__name__
__module____qualname__r   r   r,   r   r   r   r   r      s    r   )__doc__Zunittestcollectionsr   Znltk.translater   r   r   Znltk.translate.ibm_modelr   ZTestCaser   r   r   r   r   <module>   s    