
    fi                         d Z ddlZ G d dej                        Z G d dej                        Z G d dej                        Z G d	 d
ej                        Zd Zd Zy)z1Test of the Vocabulary and related support APIs.
    Nc                   H    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zy)SimpleTermTestsc                     ddl m} |S )Nr   
SimpleTerm)zope.schema.vocabularyr   )selfr   s     y/var/dept/share/cheung/public_html/OutSchool/python/env/lib/python3.12/site-packages/zope/schema/tests/test_vocabulary.py_getTargetClasszSimpleTermTests._getTargetClass   s    5    c                 .     | j                         |i |S Nr   r	   argskws      r
   _makeOnezSimpleTermTests._makeOne       %t##%t2r22r   c                 J    ddl m} ddlm}  ||| j	                                y )Nr   verifyClassITokenizedTerm)zope.interface.verifyr   zope.schema.interfacesr   r   )r	   r   r   s      r
   %test_class_conforms_to_ITokenizedTermz5SimpleTermTests.test_class_conforms_to_ITokenizedTerm   s    59ND$8$8$:;r   c                 L    ddl m} ddlm}  ||| j	                  d             y )Nr   verifyObjectr   VALUE)r   r   r   r   r   )r	   r   r   s      r
   (test_instance_conforms_to_ITokenizedTermz8SimpleTermTests.test_instance_conforms_to_ITokenizedTerm"   s    69^T]]7%;<r   c                    ddl m} | j                  d      }| j                  |j                  d       | j                  |j
                  d       | j                  |j                  d        | j                  |j                  |             y )Nr   ITitledTokenizedTermr    )	r   r$   r   assertEqualvaluetokentitleassertFalse
providedByr	   r$   terms      r
   test_ctor_defaultsz"SimpleTermTests.test_ctor_defaults(   si    ?}}W%W-W-T*-88>?r   c                    ddl m} | j                  ddd      }| j                  |j                  d       | j                  |j
                  d       | j                  |j                  d       | j                  |j                  |             y )Nr   r#   TERMTOKENTITLE)	r   r$   r   r%   r&   r'   r(   
assertTruer*   r+   s      r
   test_ctor_explicitz"SimpleTermTests.test_ctor_explicit0   sk    ?}}VWg6V,W-W-,77=>r   c                     ddl m} | j                  d      }| j                  |j                  d       | j                  |j
                  d       | j                  |j                  |             y )Nr   r#   s   termr,   r   r$   r   r%   r&   r'   r)   r*   r+   s      r
   test_bytes_valuez SimpleTermTests.test_bytes_value8   sU    ?}}W%W-V,-88>?r   c                     ddl m} | j                  d      }| j                  |j                  d       | j                  |j
                  d       | j                  |j                  |             y )Nr   r#   s   Snowman ☃zSnowman \xe2\x98\x83r5   r+   s      r
   test_bytes_non_ascii_valuez*SimpleTermTests.test_bytes_non_ascii_value?   sX    ?}}45%<=%>?-88>?r   c                     ddl m} | j                  d      }| j                  |j                  d       | j                  |j
                  d       | j                  |j                  |             y )Nr   r#   u   Snowman ☃zSnowman \u2603r5   r+   s      r
   test_unicode_non_ascii_valuez,SimpleTermTests.test_unicode_non_ascii_valueF   sX    ?}}./%67%67-88>?r   c                    | j                  d      }| j                  ||       | j                  |t                      | j                  t               |       | j                  d      }| j                  ||       | j                  t	        |      t	        |             | j                  dd      }| j                  ||       | j                  t	        |      t	        |             | j                  dd      }| j                  ||       | j                  t	        |      t	        |             | j                  ddd      }| j                  ||       | j                  t	        |      t	        |             | j                  ddd      }| j                  ||       | j                  t	        |      t	        |             y )Nr&   r'   r(   )r   r%   assertNotEqualobjecthash)r	   r,   term2s      r
   test__eq__and__hash__z%SimpleTermTests.test__eq__and__hash__M   s`   }}W%t$D&(+FHd+g&u%dT%[1 }}Wg.D%(DJU4gw/u%dT%[1}}Wgw7D%(DJU4gw8u%dT%[1r   N)__name__
__module____qualname__r   r   r   r!   r-   r3   r6   r8   r:   r@    r   r
   r   r      s8    3<=@?@@@2r   r   c                   r    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zy)SimpleVocabularyTestsc                     ddl m} |S )Nr   )SimpleVocabulary)r   rH   )r	   rH   s     r
   r   z%SimpleVocabularyTests._getTargetClassp   s    ;r   c                 .     | j                         |i |S r   r   r   s      r
   r   zSimpleVocabularyTests._makeOnet   r   r   c                 J    ddl m} ddlm}  ||| j	                                y )Nr   r   IVocabularyTokenized)r   r   r   rL   r   )r	   r   rL   s      r
   +test_class_conforms_to_IVocabularyTokenizedzASimpleVocabularyTests.test_class_conforms_to_IVocabularyTokenizedw   s    5?($*>*>*@Ar   c                 L    ddl m} ddlm}  ||| j	                  d             y )Nr   r   rK   rD   )r   r   r   rL   r   )r	   r   rL   s      r
   .test_instance_conforms_to_IVocabularyTokenizedzDSimpleVocabularyTests.test_instance_conforms_to_IVocabularyTokenized}   s    6?)4==+<=r   c                    ddl m} ddlm}  G d d|      }g d}| j	                  |D cg c]
  } ||       c}|      }| j                  |j                  |             | j                  t        |      t        |             t        ||      D ]!  \  }}| j                  |j                  |       # |D ]  }| j                  ||v         | j                  d|v        |D ]X  }| j                  |j                  |j                        |       | j                  |j                  |j                        |       Z y c c}w )Nr   	Interfacer   c                       e Zd Zy)FSimpleVocabularyTests.test_ctor_additional_interfaces.<locals>.IStupidNrA   rB   rC   rD   r   r
   IStupidrT          r   rV            	   ABC)zope.interfacerR   r   r   r   r2   r*   r%   lenzipr&   r)   assertIsgetTermgetTermByTokenr'   )	r	   rR   r   rV   VALUESx
vocabularyr&   r,   s	            r
   test_ctor_additional_interfacesz5SimpleVocabularyTests.test_ctor_additional_interfaces   s   ,5	i 	 ]]6#BaJqM#BGL
**:67Z#f+6vz2 	0KE4TZZ/	0 	1EOOEZ/0	1*,- 	GDMM*,,TZZ8$?MM*33DJJ?F	G $Cs   Ec                    ddl m} ddlm}  G d d|      }g d}| j	                         j                  |      }| j                  t        |      t        |             t        ||      D ]A  \  }}| j                  |j                  |             | j                  |j                  |       C |D ]  }| j                  ||        y )Nr   rQ   r   c                       e Zd Zy)6SimpleVocabularyTests.test_fromValues.<locals>.IStupidNrU   rD   r   r
   rV   rj      rW   r   rV   rX   )r^   rR   r   r   r   
fromValuesr%   r_   r`   r2   r*   r&   assertIn)r	   rR   r   rV   rd   rf   r&   r,   s           r
   test_fromValuesz%SimpleVocabularyTests.test_fromValues   s    ,9	i 	 ))+66v>
Z#f+6vz2 	0KE4OON55d;<TZZ/	0  	-EMM%,	-r   c                    ddl m} ddlm}  G d d|      }g d}| j	                         j                  |      }| j                  t        |      t        |             t        ||      D ]c  \  }}| j                  |j                  |             | j                  |j                  |d          | j                  |j                  |d          e |D ]  }| j                  |d   |        y )Nr   rQ   r   c                       e Zd Zy)5SimpleVocabularyTests.test_fromItems.<locals>.IStupidNrU   rD   r   r
   rV   rp      rW   r   rV   ))onerY   )twor[   )three   )fore!rZ   rY   )r^   rR   r   r   r   	fromItemsr%   r_   r`   r2   r*   r'   r&   rl   )r	   rR   r   rV   ITEMSrf   itemr,   s           r
   test_fromItemsz$SimpleVocabularyTests.test_fromItems   s    ,9	i 	 E))+55e<
Z#e*5eZ0 	2JD$OON55d;<TZZa1TZZa1	2  	/DMM$q':.	/r   c                    ddl m} ddlm}  G d d|      }g d}| j	                         j                  |      }| j                  t        |      t        |             t        ||      D ]  \  }}| j                  |j                  |             | j                  |j                  |d          | j                  |j                  |d          | j                  |j                  |d           |D ]  }| j                  |d   |        y )	Nr   rQ   r#   c                       e Zd Zy)=SimpleVocabularyTests.test_fromItems_triples.<locals>.IStupidNrU   rD   r   r
   rV   r|      rW   r   rV   ))rq   rY   ztitle 1)rr   r[   ztitle 2)rs   rt   ztitle 3)ru   rZ   z
title fourrY   r[   )r^   rR   r   r$   r   rv   r%   r_   r`   r2   r*   r'   r&   r(   rl   )r	   rR   r$   rV   rw   rf   rx   r,   s           r
   test_fromItems_triplesz,SimpleVocabularyTests.test_fromItems_triples   s    ,?	i 	
 ))+55e<
Z#e*5eZ0 	2JD$OO0;;DABTZZa1TZZa1TZZa1		2
  	/DMM$q':.	/r   c                    ddl m} g d}|D ]}  }| j                         j                  |      }| j	                  t        ||             | j                  |j                  |       | j                  |j                  t        |              y )Nr   r   rX   )
r   r   r   
createTermr2   
isinstancer%   r&   r'   str)r	   r   rd   r&   r,   s        r
   test_createTermz%SimpleVocabularyTests.test_createTerm   sq    5 	5E'')44U;DOOJtZ89TZZ/TZZU4		5r   c                 h    | j                  d      }| j                  t        |j                  d       y NrD   nonesuch)r   assertRaisesLookupErrorrb   r	   rf   s     r
   test_getTerm_missz'SimpleVocabularyTests.test_getTerm_miss   s(    ]]2&
+z'9'9:Fr   c                 h    | j                  d      }| j                  t        |j                  d       y r   )r   r   r   rc   r   s     r
   test_getTermByToken_missz.SimpleVocabularyTests.test_getTermByToken_miss   s(    ]]2&
+z'@'@*Mr   c                     | j                         }| j                  t        |j                  ddg       | j                  t        |j                  ddg       | j                  t        |j                  ddg       y )Nr[   2rY   rq   )1zanother oner   rq   )r   r   
ValueErrorrk   rv   )r	   klasss     r
   test_nonunique_tokensz+SimpleVocabularyTests.test_nonunique_tokens   so    $$&*e&6&6CAOO-.	

 	OO$	
r   c                    | j                         }ddg}|D cg c]  \  }}|j                  ||       }}} | j                         |d      }| j                  |j                  d      j                  d       y c c}}w )Nr   r   T)swallow_duplicatesrq   r   )r   r   r%   rb   r'   )r	   r   itemsr'   r&   termsvocabs          r
   test_nonunique_tokens_swallowz3SimpleVocabularyTests.test_nonunique_tokens_swallow   sz    $$&Z(FKLNUE!!%/LL&$$&uFu-33S9 Ms   A=c                     	 | j                         j                  ddg       y # t        $ r%}| j                  t	        |      d       Y d }~y d }~ww xY w)Nr[   r   zterm tokens must be unique: '2')r   rk   r   r%   r   r	   es     r
   test_nonunique_token_messagez2SimpleVocabularyTests.test_nonunique_token_message   sM    	H  "--q#h7 	HSV%FGG	H   !$ 	AAAc                     	 | j                         j                  ddg       y # t        $ r%}| j                  t	        |      d       Y d }~y d }~ww xY w)Nr   r   z!term values must be unique: 'one')r   rv   r   r%   r   r   s     r
   test_nonunique_token_messagesz3SimpleVocabularyTests.test_nonunique_token_messages   sN    	J  ",,j*-EF 	JSV%HII	Jr   c                      G d dt                G fdd| j                               }|j                  g d      }|D ]+  }| j                  |j                  dz   |j
                         - y )Nc                       e Zd Zd Zy)@SimpleVocabularyTests.test_overriding_createTerm.<locals>.MyTermc                 F    || _         t        |      | _        |dz   | _        y )NrY   )r&   reprr'   	nextvaluer	   r&   s     r
   __init__zISimpleVocabularyTests.test_overriding_createTerm.<locals>.MyTerm.__init__  s    "
!%[
!&r   N)rA   rB   rC   r   rD   r   r
   MyTermr     s    +r   r   c                   (    e Zd Z fdZ ee      Zy)FSimpleVocabularyTests.test_overriding_createTerm.<locals>.MyVocabularyc                      |      S r   rD   )clsr&   r   s     r
   r   zQSimpleVocabularyTests.test_overriding_createTerm.<locals>.MyVocabulary.createTerm  s    e}$r   N)rA   rB   rC   r   classmethod)r   s   r
   MyVocabularyr     s    %$Z0Jr   r   )rY   r[   rt   rY   )r=   r   rk   r%   r&   r   )r	   r   r   r,   r   s       @r
   test_overriding_createTermz0SimpleVocabularyTests.test_overriding_createTerm  sa    	+V 	+	14//1 	1
 ''	2 	=DTZZ!^T^^<	=r   c                    ddl m} g d}| j                         j                  |      }| j	                  ||       | j                  |t                      | j                  t               |       | j                         j                  |      }| j	                  ||       | j	                  t        |      t        |              G d d|j                        }| j                         j                  ||      }| j                  ||       | j	                  t        |      t        |             | j                         j                  ||      }| j	                  ||       | j	                  t        |      t        |             y )Nr   )	interfacerX   c                       e Zd ZdZy)9SimpleVocabularyTests.test__eq__and__hash__.<locals>.IFoozan interfaceN)rA   rB   rC   __doc__rD   r   r
   IFoor   (  s    r   r   )	zoper   r   rk   r%   r<   r=   r>   rR   )r	   r   valuesrf   vocabulary2r   s         r
   r@   z+SimpleVocabularyTests.test__eq__and__hash__  s>   "))+66v>
 	Z0J1FHj1 **,77?[1j)4+<=	9&& 	 ))+66vtD
J4 	j)4+<=**,77E[1j)4+<=r   N)rA   rB   rC   r   r   rM   rO   rg   rm   ry   r}   r   r   r   r   r   r   r   r   r@   rD   r   r
   rF   rF   n   s]     3B>G*-"/$/05GN
:HJ= >r   rF   c                   ~    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)TreeVocabularyTestsc                     ddl m} |S )Nr   )TreeVocabulary)r   r   )r	   r   s     r
   r   z#TreeVocabularyTests._getTargetClass;  s    9r   c                 Z    dddi iidi idi}| j                         j                  |      S )N)regionsRegions)tyrTyrol)auss
Ausserfern)bavBavaria))autAustria)gerGermany)r   fromDict)r	   region_trees     r
   tree_vocab_2z TreeVocabularyTests.tree_vocab_2?  sK    "$.'% '%	%
 ##%..{;;r   c                 ,    i i ddi iddi idi ii ddS )N))res_hostr   zRes Host)res_guir   zRes GUI)dcs_hostr   zDCS Host))reservationsr   Reservations)check_inr   zCheck-in)	messagingr   	Messaging)databaser   Database))communication_networkr   zCommunication/Network)data_transactionr   zData/Transaction)securityr   Security))servicesr   Services)infrastructurer   InfrastructurerD   r	   s    r
   business_treez!TreeVocabularyTests.business_treeN  sN     ;=79C
 9"73 <R,
 9"' 79
E
 	
r   c                 \    | j                         j                  | j                               S r   )r   r   r   r   s    r
   tree_vocab_3z TreeVocabularyTests.tree_vocab_3f  s%    ##%..t/A/A/CDDr   c                 X   ddl m} | j                         }|D ]=  }| j                  |j                         | j                  |j                  |             ? | j                         }|D ]=  }| j                  |j                         | j                  |j                  |             ? y )Nr   r#   )
r   r$   r   assertIsNoner(   r)   r*   r   assertIsNotNoner2   )r	   r$   	no_titlesr,   
all_titless        r
   test_only_titled_if_triplesz/TreeVocabularyTests.test_only_titled_if_triplesi  s    ?%%'	 	DDdjj)1<<TBC	D &&(
 	CD  ,OO0;;DAB	Cr   c                 J   ddl m} ddlm} ddlm} ddlm} ddlm} | j                         | j                         fD ]b  }| j                   |||             | j                   |||             | j                   |||             | j                   |||             d y )Nr   )IEnumerableMappingr   )ITreeVocabularyIVocabularyrK   )zope.interface.common.mappingr   r   r   r   r   r   rL   r   r   r2   )r	   r   r   r   r   rL   vs          r
   test_implementationz'TreeVocabularyTests.test_implementationu  s    D6:6?##%t'8'8':; 	>AOOL);Q?@OOLa89OOL)=qABOOL!<=		>r   c                     ddl m}  G d d|      }| j                         j                  di i|      }| j	                  |j                  |             y )Nr   rQ   c                       e Zd Zy)?TreeVocabularyTests.test_additional_interfaces.<locals>.IStupidNrU   rD   r   r
   rV   r     rW   r   rV   rq   r   )r^   rR   r   r   r2   r*   )r	   rR   rV   r   s       r
   test_additional_interfacesz.TreeVocabularyTests.test_additional_interfaces  sJ    ,	i 	   "++\2,>H**1-.r   c                 &   ddl m} i i di i di i i d} |t        |j                         d             }| j	                         j                  |      }| j                  |j                         D cg c]  }|j                   c}g d       | j                  |D cg c]  }|j                   c}g d       | j                  ||j                         D cg c]  }| c}d      j                         D cg c]  }|j                   c}d	d
g       | j                  ||j                         D cg c]  }| c}d      j                         D cg c]  }|j                   c}ddg       y c c}w c c}w c c}w c c}w c c}w c c}w )Nr   )OrderedDict))r[   	ny_albanyAlbany)rt   ny_new_yorkNew York))   ca_los_angeleszLos Angeles)   ca_san_franciscozSan Francisco))rY   new_yorkr   )rZ   
california
California)   texasTexas)   floridaFlorida)r\   utahUtahc                     | d   S )Nr   rD   )ts    r
   <lambda>z3TreeVocabularyTests.test_ordering.<locals>.<lambda>  s
    AaD r   )key)r   4789r   3rY   56)	collectionsr   sortedr   r   r   r%   keysr'   )r	   r   ddict_r   ks         r
   test_orderingz!TreeVocabularyTests.test_ordering  sg   
 	, -/02*
 79:<. $&')!#
 F1779.AB$$&//6#jjl+QWW+%	

 	#$QWW$%	

 	#

$=1Q$=a$@AFFHIQWWI#J	
 	#

$=1Q$=a$@AFFHIQWWI#J	
 ,
 %
 %>I %>Is$   3E5E:	E?
;F6	F	
Fc                    | j                         }| j                  t        |j                  j	                               D cg c]  }| c}g d       | j                  t        |j
                  j	                               D cg c]  }| c}g d       | j                  t        |j                  j	                               D cg c]  }| c}g d       | j                  t        |j                  j                               D cg c]  }| c}dgddgg dg dddgg dg       | j                  t        | j                         j                  j	                               D cg c]  }| c}g d	       | j                  t        | j                         j
                  j	                               D cg c]  }| c}g d	       | j                  t        | j                         j                  j                               D cg c]  }| c}d
gd
dgg dd
dgg dd
dgdgddgg dddgg dg dg       y c c}w c c}w c c}w c c}w c c}w c c}w c c}w )N)r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   )r   r   r   )	r   r%   r  term_by_valuer  term_by_tokenpath_by_valuer   r   )r	   tv2r  s      r
   test_indexesz TreeVocabularyTests.test_indexes  s/    !s00557891Q9O	

 	s00557891Q9;	

 	s00557891Q9O	

 	s00779:;1Q;I&/=I&1
	
 	t002@@EEGHI1QI	
$ 	t002@@EEGHI1QI	
$ 	t002@@GGIJK1QK!"!#:;H!#56B!:.Z(4^,78	
} :
 :
 :
 < J$ J$ Ls*   	I 	I	I

	I*	I;	I	Ic                    | j                         }| j                         }| j                  |j                  d      g d       | j                  |j                  d      ddg       | j                  |j                  d      g d       | j                  |j                  d      g        | j                  |j                  d      g d	       y )
Nr   r!  r   r   r   r   zNon-existentr   r"  )r   r   r%   getTermPathr	   r'  tv3s      r
   test_termpathz!TreeVocabularyTests.test_termpath
  s    !!OOI&-	
 	OOI&	"	
 	OOL)9	
 	OON+	
 	OOJ'>	
r   c                     | j                  t        | j                               d       | j                  t        | j                               d       y )NrY   r[   )r%   r_   r   r   r   s    r
   test_lenzTreeVocabularyTests.test_len"  s>    T..0115T..0115r   c                    | j                         }| j                  d|v xr
 d|v xr d|v        | j                  d|v       | j                  d|v       | j                  i |v       | j                         }| j                  d|v xr
 d|v xr d|v        | j                  d	|v       | j                  d
|v       | j                  i |v       y )Nr   r   r   r   foor   r   r   r   r   )r   r2   r   r+  s      r
   test_containsz!TreeVocabularyTests.test_contains'  s    !	S( )!S()!S(	* 	S()S()#&!
c) *"c)*"c)	+ 	
#-.
#-.#&r   c           	         | j                         | j                         fD ]  }|D ]  }| j                  |j                         D cg c]  }| c}|j                  j                         D cg c]  }| c}       | j                  |j                         D cg c]  }| c}|j                  j                         D cg c]  }| c}         y c c}w c c}w c c}w c c}w r   )r   r   r%   r   _termsr   )r	   r   r,   is       r
   test_values_and_itemsz)TreeVocabularyTests.test_values_and_items:  s    ##%t'8'8':; 	@A @  QXXZ!8!!8-.XX__->!?!!?A  QWWY!7!!7-.XX^^-=!>!!>@@	@!8!?!7!>s   	C-	C	C 	C%c                     | j                         | j                         fD ]P  }|j                         D ];  \  }}| j                  |j	                  |      |       | j                  ||   |       = R y r   )r   r   r   r%   get)r	   r   r  r&   s       r
   test_getzTreeVocabularyTests.test_getB  sm    ##%t'8'8':; 	0Aggi 0
U  sU3  3/0	0r   c                    | j                         | j                         fD ]  }|D ]Z  }| j                  |j                  |j                        |u        | j                  |j                  |j                        |u        \ | j                  t        |j                  d       | j                  t        |j
                  d        y )Nznon-present-valueznon-present-token)	r   r   r2   rb   r&   rc   r'   r   r   )r	   r   r,   s      r
   test_get_termz!TreeVocabularyTests.test_get_termH  s    ##%t'8'8':; 	EA F		$** 5 => 0 0 < DEF k1996IJk..0CE	Er   c                 (   | j                  t        | j                         j                  i i d       | j                  t        | j                         j                  i i d       | j                  t        | j                         j                  di i di       | j                  t        | j                         j                  di i di       | j                         j                  di i di       | j                         j                  i i d	       y )
Nr   )rr   r   r   )rq   r   r  r   ))albanyr   r?  )r   r  ))r   r@  )r  r  )r   r  r   ))r   r   r   )r  r   r   ))rq   r   One)rr   r   rA  )r   r   r   r   r   s    r
    test_nonunique_values_and_tokensz4TreeVocabularyTests.test_nonunique_values_and_tokensQ  s    	,,.77  	 	,,.77  	 	,,.77(*,.0+	 	,,.77!%'')$	 	'').024,)
 	 	''!#!#)
 	r   c                     	 | j                         j                  i i d       y # t        $ r%}| j                  t	        |      d       Y d }~y d }~ww xY w)Nr=  zTerm values must be unique: '1'r   r   r   r%   r   r   s     r
   test_nonunique_value_messagez0TreeVocabularyTests.test_nonunique_value_message~  sV    	H  "++  -   	HSV%FGG	H   "% 	AAAc                     	 | j                         j                  i i d       y # t        $ r%}| j                  t	        |      d       Y d }~y d }~ww xY w)Nr>  z!Term tokens must be unique: 'one'rD  r   s     r
   r   z0TreeVocabularyTests.test_nonunique_token_message  sV    	J  "++  -   	JSV%HII	JrF  c                 v   ddl m}  |i | j                               }| j                         j	                  | j                               }|j                  |d      }|j                  |d      }| j                  ||       | j                  |dg       |j                  |d      }|j                  |d      }| j                  ||       | j                  |ddg       |j                  |d      }|j                  |d      }| j                  ||       | j                  |g d       |j                  |d      }|j                  |d      }| j                  ||       | j                  |g d       |j                  |d	      }|j                  |d	      }| j                  ||       | j                  |g        y )
Nr   )_createTermTreer   r   r   r"  r   r#  dummy)r   rI  r   r   r   _getPathToTreeNoder%   )r	   rI  treer   	term_path
vocab_paths         r
   test_recursive_methodsz*TreeVocabularyTests.test_recursive_methods  s   :r4#5#5#78$$&//0B0B0DE,,T3CD	--e5EF
J/%5$67,,T:>	--eZ@
J/%5z$BC,,T:>	--eZ@
J/K	M ,,T:>	--eZ@
J/$HI,,T7;	--eW=
J/B'r   N)rA   rB   rC   r   r   r   r   r   r   r   r  r(  r-  r/  r2  r6  r9  r;  rB  rE  r   rO  rD   r   r
   r   r   9  sk    <
0E
C>/(
TS
j
06
'&@0E+ZHJ(r   r   c                   $    e Zd Zd Zd Zd Zd Zy)RegistryTestsc                     ddl m}  |        y Nr   )_clearr   rT  r	   rT  s     r
   setUpzRegistryTests.setUp  
    1r   c                     ddl m}  |        y rS  rU  rV  s     r
   tearDownzRegistryTests.tearDown  rX  r   c                 p    ddl m} ddl m} t               } ||       | j	                   |       |u        y )Nr   getVocabularyRegistry)setVocabularyRegistry)r   r]  r^  _makeDummyRegistryr2   )r	   r]  r^  rs       r
   test_setVocabularyRegistryz(RegistryTests.test_setVocabularyRegistry  s-    @@ a -/145r   c                 j    ddl m} ddlm}  |       }| j	                  |j                  |             y )Nr   )IVocabularyRegistryr\  )r   rc  r   r]  r2   r*   )r	   rc  r]  r`  s       r
   test_getVocabularyRegistryz(RegistryTests.test_getVocabularyRegistry  s(    >@!#+66q9:r   N)rA   rB   rC   rW  rZ  ra  rd  rD   r   r
   rQ  rQ    s    6;r   rQ  c                  z    ddl m}  ddlm}  G d dt              } | |       G d dt                     } |       S )Nr   )implementerr   c                       e Zd Zy))_makeSampleVocabulary.<locals>.SampleTermNrU   rD   r   r
   
SampleTermrh    s    r   ri  c                   $    e Zd Zd Zd Zd Zd Zy)/_makeSampleVocabulary.<locals>.SampleVocabularyc                     t        d      Nz
Not calledAssertionErrorr   s    r
   __iter__z8_makeSampleVocabulary.<locals>.SampleVocabulary.__iter__       ..r   c                 "    d|cxk  xr dk  S c S )Nr   
   rD   r   s     r
   __contains__z<_makeSampleVocabulary.<locals>.SampleVocabulary.__contains__  s    ??"?"r   c                      y)Nrs  rD   r   s    r
   __len__z7_makeSampleVocabulary.<locals>.SampleVocabulary.__len__  s    r   c                     t        d      )NzNot called.rn  r   s     r
   rb   z7_makeSampleVocabulary.<locals>.SampleVocabulary.getTerm  s     //r   N)rA   rB   rC   rp  rt  rv  rb   rD   r   r
   SampleVocabularyrk    s    	/	#		0r   rx  )r^   rf  r   r   r=   )rf  r   ri  rx  s       r
   _makeSampleVocabularyry    s?    *2V  06 0 0 r   c                  2    ddl m}   G d d|       } |       S )Nr   )VocabularyRegistryc                       e Zd Zd Zy))_makeDummyRegistry.<locals>.DummyRegistryc                     t        d      rm  rn  )r	   r=   names      r
   r8  z-_makeDummyRegistry.<locals>.DummyRegistry.get  rq  r   N)rA   rB   rC   r8  rD   r   r
   DummyRegistryr}    s    	/r   r  )r   r{  )r{  r  s     r
   r_  r_    s    9/* / ?r   )	r   unittestTestCaser   rF   r   rQ  ry  r_  rD   r   r
   <module>r     sh    X2h'' X2vE>H-- E>Vu((++ u(p;H%% ;64r   