ó <¿CVc@s·dZddlZddlmZddlmZddlmZddlmZddl m Z m Z dej fd „ƒYZ d ej fd „ƒYZd ej fd „ƒYZdS(s Tests for stack decoder iÿÿÿÿN(t defaultdict(tlog(t PhraseTable(t StackDecoder(t _Hypothesist_StacktTestStackDecodercBseeZd„Zd„Zd„Zd„Zd„Zd„Zd„Ze d„ƒZ e d„ƒZ RS( cCs»tjƒ}t|dƒ}d}|j|ƒ}|j|ddgƒ|j|d dgƒ|j|dd gƒ|j|d d d gƒ|j|d ƒ|j|d d gƒdS(Ntmyt hovercrafttistfulltofteelsiiiiiii(RRsissfullR R (Rtcreate_fake_phrase_tableRtNonetfind_all_src_phrasest assertEqualt assertFalse(tselft phrase_tablet stack_decodertsentencetsrc_phrase_spans((s}/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/unit/translate/test_stack_decoder.pyttest_find_all_src_phrasess cCsctddƒ}d|_tƒ}d|_|j|dƒ}t|jƒd}|j||ƒdS( Ngà?iiii (ii(ii i(RRtdistortion_factorRtsrc_phrase_spantdistortion_scoreRR(RRt hypothesistscoretexpected_score((s}/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/unit/translate/test_stack_decoder.pyttest_distortion_score's   cCsGtddƒ}d|_tƒ}|j|dƒ}|j|dƒdS(Ngà?ii g(ii (RRRRRR(RRRR((s}/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/unit/translate/test_stack_decoder.pyt(test_distortion_score_of_first_expansion5s   cCsªtjƒ}tjƒ}t||ƒ}d }|j|ƒ}|j|dd|jd ƒd j|jd ƒƒ|j|d d|jd ƒd j|jdƒƒdS(NRRR R R R iii(smys hovercraftsissfullsofseels(s hovercraft(s hovercraft(smys hovercraft(smys hovercraft( RR tcreate_fake_language_modelRtcompute_future_scoresRttranslations_fortlog_probt probability(RRtlanguage_modelRRt future_scores((s}/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/unit/translate/test_stack_decoder.pyttest_compute_future_costsBs    cCsltjƒ}tjƒ}t||ƒ}d }|j|ƒ}|j|dd|dd |d dƒdS( NRRR R R R iii(smys hovercraftsissfullsofseels(RR R RR!R(RRR%RRR&((s}/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/unit/translate/test_stack_decoder.pyt9test_compute_future_costs_for_phrases_not_in_phrase_tableVs   cCsxtƒ}d„|_td„ƒ}d|ddhscSs ttƒS(N(Rtfloat(((s}/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/unit/translate/test_stack_decoder.pyR*isgš™™™™™Ù?iigà?iigÍÌÌÌÌÌì?(Rtuntranslated_spansRRRt future_scoreR(RRtfuture_score_tableRR-((s}/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/unit/translate/test_stack_decoder.pyttest_future_scorees  cCs}tƒ}d„|_ddgdggdgdddggdgg}tj||ƒ}|j|d d d d dgƒdS(NcSs ddgS(Niiii(ii(ii((R)((s}/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/unit/translate/test_stack_decoder.pyR*ysiiiiiiii(ii(ii(ii(ii(ii(RR,Rt valid_phrasesR(RRtall_phrases_fromt phrase_spans((s}/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/unit/translate/test_stack_decoder.pyttest_valid_phrasesus     cCsËtƒ}|jdddƒ|jdddƒ|jdddƒ|jdddƒ|jdddƒ|jddd ƒ|jdddƒ|jdddƒ|jdddƒ|jd d!dƒ|S("NRtgš™™™™™é?Rgffffffæ?tcheeseR gà?R R g{®Gáz„?R tspam(s hovercraft(R4(smys hovercraft(R4R4(smyR5(R4R4(sis(R4(sis(R4(sfullsof(R4R4(sfullsofseels(R4R4R4(sfullsofR6(R4R4(seels(R4(R6(R4(Rtadd(R((s}/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/test/unit/translate/test_stack_decoder.pyR s cs«td„ƒ‰tdƒˆd s ˜C