
    c                        d Z ddlZddlZddlmZ ddlmZ ddlmZ  G d d          Z	 G d d	e	j
                  Z G d
 de	j
                  Zedk    r0ej                            ej                    ej                     dS dS )z]
Automated tests for probability estimation algorithms in the probability_estimation module.
    N)
Dictionary)HashDictionary)probability_estimationc                   4    e Zd Z G d dej                  ZdS )BaseTestCasesc                   V    e Zd Zg dg dg dg ddgddggZdZd Zd	 Zd
 Zd Zd Z	dS )'BaseTestCases.ProbabilityEstimationBase)human	interfacecomputer)epsuserr   system)r   r
   r   r   )r   responsetimetreesgraphNc                     | j         j        }|d         }|d         }|d         }|d         }||f||f||fg||f||f||fgg| _        || _        || _        || _        || _        d S )Nr   r   r   r   )
dictionarytoken2idsegmented_topicscomputer_id	system_iduser_idgraph_id)selfr   r   r   r   r   s         Glib/python3.11/site-packages/gensim/test/test_probability_estimation.pybuild_segmented_topicsz>BaseTestCases.ProbabilityEstimationBase.build_segmented_topics    s    /H":.K *Iv&G(H ) (+ ),
 !(+h'k*
%D!  +D&DN"DL$DMMM    c                     t           N)NotImplementedErrorr   s    r   setup_dictionaryz8BaseTestCases.ProbabilityEstimationBase.setup_dictionary8   s    %%r   c                                                          fd j        D              _                                          d S )Nc                 D    g | ]}j                             |          S  )r   doc2bow).0textr   s     r   
<listcomp>zABaseTestCases.ProbabilityEstimationBase.setUp.<locals>.<listcomp>=   s)    PPPT4?22488PPPr   )r$   textscorpusr   r#   s   `r   setUpz-BaseTestCases.ProbabilityEstimationBase.setUp;   sJ    !!###PPPPTZPPPDK'')))))r   c                     t          j        | j        | j                  }|                                }| j        dh| j        ddh| j        ddh| j        dhi}| 	                    ||           dS )zTest p_boolean_document()            r   N)
r   p_boolean_documentr-   r   index_to_dictr   r   r   r   assertEqual)r   accumulatorobtainedexpecteds       r   test_p_boolean_documentz?BaseTestCases.ProbabilityEstimationBase.test_p_boolean_document@   s}    0CT24 4K"0022Hsq!fA 1#	H Xx00000r   c                 Z   t          j        | j        | j        | j        d          }|                     d|| j                            |                     d|| j                            |                     d|| j                            |                     d|| j	                            dS )zTest p_boolean_sliding_window()r3   r1   r2      N)
r   p_boolean_sliding_windowr,   r   r   r6   r   r   r   r   )r   r7   s     r   test_p_boolean_sliding_windowzEBaseTestCases.ProbabilityEstimationBase.test_p_boolean_sliding_windowM   s     1I
D14?AG GKQD,< =>>>QDL 9:::QDM :;;;QDN ;<<<<<r   )
__name__
__module____qualname__r,   r   r   r$   r.   r:   r>   r'   r   r   ProbabilityEstimationBaser	      s        ...222000(((Ig
 
	% 	% 	%0	& 	& 	&	* 	* 	*
	1 	1 	1	= 	= 	= 	= 	=r   rB   N)r?   r@   rA   unittestTestCaserB   r'   r   r   r   r      sK        @= @= @= @= @=H$5 @= @= @= @= @=r   r   c                       e Zd Zd ZdS )TestProbabilityEstimationc                 8    t          | j                  | _        d S r!   )r   r,   r   r#   s    r   r$   z*TestProbabilityEstimation.setup_dictionaryY   s    (44r   Nr?   r@   rA   r$   r'   r   r   rF   rF   X   s#        5 5 5 5 5r   rF   c                       e Zd Zd ZdS )-TestProbabilityEstimationWithNormalDictionaryc                     t          | j                  | _        d | j        j                                        D             | j        _        d S )Nc                     i | ]\  }}||	S r'   r'   )r)   kvs      r   
<dictcomp>zRTestProbabilityEstimationWithNormalDictionary.setup_dictionary.<locals>.<dictcomp>`   s    #V#V#VTQAq#V#V#Vr   )r   r,   r   r   itemsid2tokenr#   s    r   r$   z>TestProbabilityEstimationWithNormalDictionary.setup_dictionary^   sB    $TZ00#V#VT_5M5S5S5U5U#V#V#V   r   NrH   r'   r   r   rJ   rJ   ]   s(        W W W W Wr   rJ   __main__)__doc__loggingrC   gensim.corpora.dictionaryr   gensim.corpora.hashdictionaryr   gensim.topic_coherencer   r   rB   rF   rJ   r?   rootsetLevelWARNINGmainr'   r   r   <module>r\      s.      0 0 0 0 0 0 8 8 8 8 8 8 9 9 9 9 9 9B= B= B= B= B= B= B= B=J5 5 5 5 5 G 5 5 5
W W W W WM4[ W W W z L'/***HMOOOOO r   