+
    -i|:                       R t ^ RIt^ RIHt R t ! R R4      t ! R R]4      t ! R R	]4      t ! R
 R]4      t ! R R]4      t	 ! R R]P                  4      t ! R R]4      t ! R R]P                  4      t ! R R]]4      t ! R R]P                  4      t ! R R]]4      t ! R R]P                  4      t ! R R]P                  4      t ! R R]4      t ! R  R!]P                  4      tR# )"zAdapter registry tests
N)OptimizationTestMixinc            	          ^ RI Hp   ! R RV 4      p ! R RV4      p ! R RV4      p ! R R	W24      p ! R
 RW#4      p ! R RV 4      p ! R RV4      p ! R RV 4      p ! R RV4      p	WW4WVWxV	3	# )    	Interfacec                       ] tR t^tRtR# )_makeInterfaces.<locals>.IB0 N__name__
__module____qualname____firstlineno____static_attributes__r	       C/usr/lib/python3/dist-packages/zope/interface/tests/test_adapter.pyIB0r          r   r   c                       ] tR t^tRtR# )_makeInterfaces.<locals>.IB1r	   Nr
   r	   r   r   IB1r      r   r   r   c                       ] tR t^!tRtR# )_makeInterfaces.<locals>.IB2r	   Nr
   r	   r   r   IB2r   !   r   r   r   c                       ] tR t^$tRtR# )_makeInterfaces.<locals>.IB3r	   Nr
   r	   r   r   IB3r   $   r   r   r   c                       ] tR t^'tRtR# )_makeInterfaces.<locals>.IB4r	   Nr
   r	   r   r   IB4r   '   r   r   r   c                       ] tR t^*tRtR# )_makeInterfaces.<locals>.IF0r	   Nr
   r	   r   r   IF0r!   *   r   r   r"   c                       ] tR t^-tRtR# )_makeInterfaces.<locals>.IF1r	   Nr
   r	   r   r   IF1r$   -   r   r   r%   c                       ] tR t^0tRtR# )_makeInterfaces.<locals>.IR0r	   Nr
   r	   r   r   IR0r'   0   r   r   r(   c                       ] tR t^3tRtR# )_makeInterfaces.<locals>.IR1r	   Nr
   r	   r   r   IR1r*   3   r   r   r+   )zope.interfacer   )
r   r   r   r   r   r   r"   r%   r(   r+   s
             r   _makeInterfacesr-      s    (i c c c c i c i c  Ss366r   c                   N   a  ] tR t^<t o RtR tR tR tR tR t	R t
R tR	tV tR# )
CustomDataTypeBaseNc                (    V P                   V,          # N_dataselfnames   &&r   __getitem__CustomDataTypeBase.__getitem__?   s    zz$r   c                "    W P                   V&   R # r1   r2   )r5   r6   values   &&&r   __setitem__CustomDataTypeBase.__setitem__B   s     

4r   c                     V P                   V R # r1   r2   r4   s   &&r   __delitem__CustomDataTypeBase.__delitem__E   s    JJtr   c                ,    \        V P                  4      # r1   )lenr3   r5   s   &r   __len__CustomDataTypeBase.__len__H   s    4::r   c                    WP                   9   # r1   r2   r4   s   &&r   __contains__CustomDataTypeBase.__contains__K   s    zz!!r   c                v    WJ d   R # \        V4      \        V 4      Jd   R# VP                  V P                  8H  # )TF)typer3   r5   others   &&r   __eq__CustomDataTypeBase.__eq__N   s0    =;d4j({{djj((r   c                ,    \        V P                  4      # r1   )reprr3   rB   s   &r   __repr__CustomDataTypeBase.__repr__V   s    DJJr   r	   )r   r   r   r   r3   r7   r;   r>   rC   rF   rL   rP   r   __classdictcell____classdict__s   @r   r/   r/   <   s2     E !")   r   r/   c                   *   a  ] tR t^Zt o RR ltRtV tR# )CustomMappingNc                    / V n         V'       d   V P                   P                  V4       V P                   P                  V n        V P                   P                  V n        R # r1   )r3   updategetitemsrJ   s   &&r   __init__CustomMapping.__init__[   s>    
JJe$::>>ZZ%%
r   )r3   rY   rZ   r1   r   r   r   r   r[   r   rR   rS   s   @r   rV   rV   Z   s     & &r   rV   c                   *   a  ] tR t^ct o RR ltRtV tR# )CustomSequenceNc                    . V n         V'       d   V P                   P                  V4       V P                   P                  V n        R # r1   )r3   extendappendrJ   s   &&r   r[   CustomSequence.__init__d   s/    
JJe$jj''r   )r3   rb   r1   r]   rS   s   @r   r_   r_   c   s     ( (r   r_   c                       ] tR t^ktRtR# )CustomLeafSequencer	   Nr
   r	   r   r   re   re   k       r   re   c                       ] tR t^otRtR# )CustomProvidedr	   Nr
   r	   r   r   rh   rh   o   rf   r   rh   c                   (  a  ] tR t^st o RtR tR tR tR tR t	R t
R tR	 tR
 tR tR tR-R ltR-R ltR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R  t#R! t$R" t%R# t&R$ t'R% t(R& t)R' t*R( t+R) t,R* t-R+ t.R,t/V t0R# ).BaseAdapterRegistryTestsNc                    ^ RI Hp V# )r   BaseAdapterRegistryzope.interface.adapterrm   )r5   rm   s   & r   _getBaseAdapterRegistry0BaseAdapterRegistryTests._getBaseAdapterRegistryw   s    >""r   c                    V P                  4       p ! R  RV4      pVP                   F"  p\        VP                  V\	        4       4       K$  	  V# )c                   *    ] tR t^~t ! R R4      tRtR# )6BaseAdapterRegistryTests._getTargetClass.<locals>._CUTc                   @   a  ] tR t^t o R;ttR tR tR tR t	Rt
V tR# )BBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClassc                    R # r1   r	   )r5   regs   &&r   r[   KBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.__init__   s    r   c                :    V ;P                   V3,          un         R # r1   _changed)r5   origs   &&r   changedJBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.changed   s    MMdW,Mr   c                :    V ;P                   V3,          un         R # r1   
_extendorsr5   provideds   &&r   add_extendorOBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.add_extendor   s    OO{2Or   c                t    \        V P                   Uu. uF  pW!8w  g   K  VNK  	  up4      V n        R # u upi r1   )tupler   )r5   r   xs   && r   remove_extendorRBaseAdapterRegistryTests._getTargetClass.<locals>._CUT.LookupClass.remove_extendor   s7    &+ -?101 ./Q -? '@DO -?s   55r   Nr	   )r   r   r   r   r|   r   r[   r~   r   r   r   rR   rS   s   @r   LookupClassrv      s*     (**:-3@ @r   r   r	   N)r   r   r   r   r   r   r	   r   r   _CUTrt   ~   s    @ @r   r   )rp   
_delegatedsetattrr   object)r5   rm   r   r6   s   &   r   _getTargetClass(BaseAdapterRegistryTests._getTargetClass{   sK    "::<	@& 	@$ (22DD$$dFH5 3r   c                ,    V P                  4       ! 4       # r1   r   rB   s   &r   _makeOne!BaseAdapterRegistryTests._makeOne   s    ##%''r   c                    \         # r1   dictrB   s   &r   _getMappingType(BaseAdapterRegistryTests._getMappingType       r   c                    \         # r1   r   rB   s   &r   _getProvidedType)BaseAdapterRegistryTests._getProvidedType   r   r   c                    \         # r1   )listrB   s   &r   _getMutableListType,BaseAdapterRegistryTests._getMutableListType   r   r   c                    \         # r1   )r   rB   s   &r   _getLeafSequenceType-BaseAdapterRegistryTests._getLeafSequenceType   s    r   c                    V P                  4       pV! 4       pVP                   F2  pV P                  \        W#4      \        VP                  V4      4       K4  	  R # r1   )r   r   assertIsgetattr	_v_lookup)r5   CUTregistryr6   s   &   r   test_lookup_delegation/BaseAdapterRegistryTests.test_lookup_delegation   sH    ""$5NNDMM'1C1CT)J #r   c                ^    V P                  4       pV P                  VP                  ^4       R#    N)r   assertEqual_generationr5   r   s   & r   "test__generation_on_first_creation;BaseAdapterRegistryTests.test__generation_on_first_creation   s#    ==?--q1r   c                    V P                  4       p\        4       pVP                  V4       V P                  VP                  ^4       V P                  VP
                  P                  W34       R# )   N)r   r   r~   r   r   r   r|   )r5   r   r}   s   &  r   &test__generation_after_calling_changed?BaseAdapterRegistryTests.test__generation_after_calling_changed   sW    ==?x--q1++44x6GHr   c                     ! R  R4      pV P                  4       pV3Vn        V P                  VP                  ^4       R# )c                       ] tR t^tRtR# )QBaseAdapterRegistryTests.test__generation_after_changing___bases__.<locals>._Baser	   Nr
   r	   r   r   _Baser          r   r   N)r   	__bases__r   r   )r5   r   r   s   &  r   )test__generation_after_changing___bases__BBaseAdapterRegistryTests.test__generation_after_changing___bases__   s7    	 	==?#X--q1r   c                   V P                  \        VP                  4      V4       V P                  VP                  V P	                  4       4       V P                  4       pVP                   F  pV P                  WC4       K  	  V P                  VP                  ^ ,          V! 4       4       V P                  VP                  ^,          V4       V P                  \        VP                  V^,
          ,          4      ^4       R# r   N)r   rA   	_adaptersassertIsInstancer   r   r5   r   expected_orderMTmappings   &&&  r   _check_basic_types_of_adapters7BaseAdapterRegistryTests._check_basic_types_of_adapters   s    ""#^	
 	h00$2J2J2LM!!#))G!!'. *++A.5h003R8X//0BCDaHr   c                   V P                  \        VP                  4      V4       V P                  VP                  V P	                  4       4       V P                  4       pVP                   F  pV P                  WC4       K  	  V'       d   V P                  VP                  ^ ,          V! 4       4       V P                  VP                  ^,          V4       V P                  \        VP                  V^,
          ,          4      ^4       R# R# r   )r   rA   _subscribersr   r   r   r   s   &&&  r   !_check_basic_types_of_subscribers:BaseAdapterRegistryTests._check_basic_types_of_subscribers   s    %%&	
 	!!4#;#;#=	
 !!#,,G!!'. -X2215rt<!!("7"7":B?S!6!6~7I!JKQO r   c                n   \        4       w	  rr4rVrxp	V P                  4       p
V
P                  V.VR R4       V P                  V
P	                  V.VR 4      R4       V P                  V
P
                  ^4       V P                  V
4       V P                  4       pV P                  V
P                  ^,          V! W! W! R R/4      /4      /4      4       V P                  4       pV P                  V
P                  V! V^/4      4       \        V
P                  4       4      pV P                  VV3VR R3.4       R# ) A1N)r-   r   registerr   
registeredr   r   r   r   r   	_providedr   allRegistrations)r5   r   r   r   r   r   r"   r%   r(   r+   r   r   PTr   s   &             r   test_register&BaseAdapterRegistryTests.test_register   sE    	
c#C==?3%b$/,,cUC<dC--q1++H5!!#++A.RT
^ 4
 1 	
 ""$++R1
 . 	 (3356
F	'
 & 	r   c                4  a
aaaaa \        4       w	  o
ooorpooV P                  4       pVP                  . SR R4       VP                  . SRR4       VP                  S
.SR R4       VP                  S
.SRR4       VP                  S
.SR R4       VP                  S
.SRR4       VP                  S
S.SR R4       VP                  S
S.SRR4       VP                  S
S.SRR4       VP                  S
S.SR R4       V
VVVVV3R	 lpV P                  VP                  V! V P                  4       V P                  4       R
7      4       \        VP                  4       4      pV P                  VRSR R3RSRR3S
3SR R3S
3SRR3S
3SR R3S
3SRR3S
S3SR R3S
S3SRR3S
S3SRR3S
S3SR R3.
4       V P                  4       pV F  pVP                  ! V!   K  	  V P                  VP                  VP                  4       V P                  VP                  VP                  4       \        Vn        \        Vn        \        Vn        \         Vn        R p	Wn        VP'                  4        V P                  VP                  V! \        \        R
7      4       R# )r   r   name1A2name2A3name3A4name4c                 &  < V ! V! SV! R RRR/4      /4      V! SV! SV! R RRR/4      SV! R RRR/4      /4      /4      V! SV! SV! SV! R R/4      /4      SV! SV! RR/4      SV! RR/4      /4      SV! SV! R R/4      /4      /4      /4      .4      # )	r   r   r   r   r   r   r   r   r   r	   )Lr   r   r   r   r   r(   r+   s   &&r   build_adaptersXBaseAdapterRegistryTests.test_register_multiple_allRegistrations.<locals>.build_adapters	  s   D   R#T!  R#T! 	 	  RRJ!  RWdO!4WdO!4!  RRJ!   -$ $ $r   )r   r   c                 H    V e   T M	\        4       p V P                  V4       V # r1   re   rb   existingnews   &&r   addValueRBaseAdapterRegistryTests.test_register_multiple_allRegistrations.<locals>.addValueP  (    $06H6J  OOC Or   Nr	   )r-   r   r   r   r   r   r   sortedr   r   rV   _mappingTypere   _leafSequenceTyper_   _sequenceTyperh   _providedType_addValueToLeafrebuild)r5   r   r"   r%   r   r   r   	registry2argsr   r   r   r   r   r(   r+   s   &         @@@@@@r   'test_register_multiple_allRegistrations@BaseAdapterRegistryTests.test_register_multiple_allRegistrations   s    	
c3#sC==?"c2t,"c7D13%b$/3%gt43%b$/3%gt43*c2t43*c7D93*c7D93*c2t4%	 %	N 	++'$*B*B*D+/+?+?+AC	D H5578
b$gt$VS"d#VS'4(VS"d#VS'4(3Zb$'3Zgt,3Zgt,3Zb$'&
 	 MMO	D%  	,,h.@.@A,,h.@.@A !.%7"!/!/	 $, ++'- -	r   c           	         \        4       w	  rr4rVrxp	V P                  4       p
V P                  \        4      ;_uu_ 4        V
P	                  V.V\        4       R 4       RRR4       R#   + '       g   i     R# ; ir   N)r-   r   assertRaises
ValueErrorr   r   r5   r   r   r   r   r   r"   r%   r(   r+   r   s   &          r   test_register_with_invalid_name8BaseAdapterRegistryTests.test_register_with_invalid_namea  s]     	
c#C==?z**seS&(D9 +***s   A&&A7	c           	        \        4       w	  rr4rVrxp	V P                  4       p
V
P                  R .VRR4       V
P                  R .VRR 4       V P                  \	        V
P
                  4      ^ 4       V P                  V
P
                  V P                  4       4       \        V
P                  4       4      pV P                  V. 4       R # Nr   r   )
r-   r   r   r   rA   r   r   r   r   r   )r5   r   r   r   r   r   r"   r%   r(   r+   r   r   s   &           r   )test_register_with_value_None_unregistersBBaseAdapterRegistryTests.test_register_with_value_None_unregistersi  s     	
c#C==?4&#r404&#r40X//0!4h00$2J2J2LM(3356
R(r   c                    ^ RI Hp \        4       w	  r#rErgrp
V P                  4       p\	        4       pVP                  R.V	RV4       VP                  pVP                  R.V	RV4       V P                  VP                  V4       V P                  V4       V P                  4       pV P                  VP                  ^,          V! W! W! RV/4      /4      /4      4       \        VP                  4       4      pV P                  VV3V	RV3.4       R# )r   r   Nr   )r,   r   r-   r   r   r   r   r   r   r   r   r   r   )r5   r   r   r   r   r   r   r"   r%   r(   r+   r   _value_beforer   r   s   &               r   test_register_with_same_value6BaseAdapterRegistryTests.test_register_with_same_valueu  s   , 	
c#C==?4&#r62&&4&#r62--w7++H5!!#++A.2RV-1
 	 (3356
L	'
 & 	r   c                    V P                  4       pV P                  VP                  R .R R4      R 4       \        VP	                  4       4      pV P                  V. 4       R # Nr   )r   r   r   r   r   )r5   r   r   s   &  r   test_registered_empty.BaseAdapterRegistryTests.test_registered_empty  sQ    ==?,,dVT2>E(3356
R(r   c           	         \        4       w	  rr4rVrxp	V P                  4       p
V
P                  V.R RR4       V P                  V
P	                  V.R R4      R 4       R # r  )r-   r   r   r   r   r   s   &          r   test_registered_non_empty_miss7BaseAdapterRegistryTests.test_registered_non_empty_miss  s\     	
c#C==?3%r40,,cUD"=tDr   c                    V P                  4       pVP                  R .R RR4       V P                  VP                  R .R R4      R4       R # r  )r   r   r   r   r   s   & r   test_registered_non_empty_hit6BaseAdapterRegistryTests.test_registered_non_empty_hit  sD    ==?4&$D1,,dVT2>Er   c                    V P                  4       pVP                  R .R R4       V P                  VP                  R .R R4      R 4       V P                  \	        VP
                  4      ^ 4       R # r  )r   
unregisterr   r   rA   r   r   s   & r   test_unregister_empty.BaseAdapterRegistryTests.test_unregister_empty  s]    ==?TFD"-,,dVT2>EX//0!4r   c                   \        4       w	  rr4rVrxp	V P                  4       p
V
P                  V.R RR4       V
P                  V.R R4       V P	                  V
P                  V.R R4      R4       V P                  V
4       V P                  4       pV P	                  V
P                  ^,          V! W+! R V! RR/4      /4      /4      4       V P                  4       pV P	                  V
P                  V! R ^/4      4       R # r  r-   r   r   r  r   r   r   r   r   r   r   r5   r   r   r   r   r   r"   r%   r(   r+   r   r   r   s   &            r   *test_unregister_non_empty_miss_on_requiredCBaseAdapterRegistryTests.test_unregister_non_empty_miss_on_required  s    	
c#C==?3%r40SE4,,,cUD"=tD++H5!!#++A.Rb"dn1
 	 ""$++R!1
 . 	r   c                   \        4       w	  rr4rVrxp	V P                  4       p
V
P                  V.R RR4       V
P                  V.R R4       V P	                  V
P                  V.R R4      R4       V P                  V
4       V P                  4       pV P	                  V
P                  ^,          V! W+! R V! RR/4      /4      /4      4       V P                  4       pV P	                  V
P                  V! R ^/4      4       R # )Nr   r   nonesuchr  r  s   &            r   &test_unregister_non_empty_miss_on_name?BaseAdapterRegistryTests.test_unregister_non_empty_miss_on_name  s    	
c#C==?3%r40SE44,,cUD"=tD++H5!!#++A.Rb"dn1
 	 ""$++R!1
 . 	r   c           	     
   \        4       w	  rr4rVrxp	V P                  4       p
\        4       p\        4       pV
P                  V.R RV4       V
P	                  V.R RV4       V P                  V
P                  V.R R4      V4       R # r  )r-   r   r   r   r  r   r   r5   r   r   r   r   r   r"   r%   r(   r+   r   r}   nomatchs   &            r   (test_unregister_with_value_not_None_missABaseAdapterRegistryTests.test_unregister_with_value_not_None_miss  s~     	
c#C==?x(3%r40SE4W5h))3%r:DAr   c                P   \        4       w	  rr4rVrxp	V P                  4       p
\        4       p\        4       pV
P                  W#.R RV4       V
P                  W$.R RV4       V P	                  V
^R7       V P                  W:P                  ^,          V,          4       V P                  WJP                  ^,          V,          4       V P                  4       pV P                  V
P                  ^,          V! W-! W=! R V! RV/4      /4      WM! R V! RV/4      /4      /4      /4      4       V P                  4       pV P                  V
P                  V! R ^/4      4       V
P                  W$.R RV4       V P                  W:P                  ^,          V,          4       V P                  WJP                  ^,          V,          4       V P                  V
P                  ^,          V! W-! W=! R V! RV/4      /4      /4      /4      4       V P                  V
P                  V! R ^/4      4       R # Nr   r   )r-   r   r   r   r   assertInr   r   r   r   r   r  assertNotIn)r5   r   r   r   r   r   r"   r%   r(   r+   r   oneanotherr   r   s   &              r   .test_unregister_hit_clears_empty_subcomponentsGBaseAdapterRegistryTests.test_unregister_hit_clears_empty_subcomponents  s    	
c#C==?h(3*dB43*dB8++HQ+Gc--a056c--a056!!#++A.RRr2s)} 56Rr2w-'8 9:	1
 		 ""$++R!1
 . 	 	SJb':c--a056003C89++A.RRr2s)} 561
 	 	++R!1
 . 	r   c                    V P                  4       pVP                  R .R R4       V P                  VP                  R .R R4      R 4       V P	                  V^ R7       R # r'  )r   unsubscriber   r   r   r   s   & r   test_unsubscribe_empty/BaseAdapterRegistryTests.test_unsubscribe_empty  sU    ==?dVT2.,,dVT2>E..x.Jr   c                   \        4       w	  rr4rVrxp	V P                  4       p
\        4       pV
P                  V.R V4       V P	                  4       pV P                  4       pV P                  4       pV P                  V
4       V P                  V
P                  ^,          V! W,! R V! RV! V34      /4      /4      /4      4       V P                  V
P                  V! / 4      4       V
P                  V.R V4       V P                  \        V
P                  4      ^ 4       V P                  V
P                  V! / 4      4       R # r  )r-   r   r   	subscriber   r   r   r   r   r   r   r0  rA   )r5   r   r   r   r   r   r"   r%   r(   r+   r   r}   r   r   r   s   &              r   test_unsubscribe_hit-BaseAdapterRegistryTests.test_unsubscribe_hit  s-    	
c#C==?xC5$-!!#%%'""$..x8..q12b4'
  7
 4 	 	++RV4cUD$/X223Q7++RV4r   c                (    V P                  W4       R# )an  
Implementations may choose to use new, immutable objects
instead of mutating existing subscriber leaf objects, or vice versa.

The default implementation uses immutable tuples, so they are never
the same. Other implementations may use persistent lists so they
should be the same and mutated in place. Subclasses testing this
behaviour need to override this method.
N)assertIsNotr5   leaf1leaf2s   &&&r   assertLeafIdentity+BaseAdapterRegistryTests.assertLeafIdentity0  s     	&r   c                D   \        4       w	  rr4rVrxp	V P                  4       p
\        4       p\        4       p\        4       p\        4       pV
P                  V.R V4       V
P                  V.R V4       V
P                  V.W4       V
P                  V.W4       V P	                  V
^R7       V P                  4       pV P                  4       pV P                  4       pV P                  V
P                  ^,          V! W/! R V! RV! W34      /4      W! RV! W34      /4      /4      /4      4       V P                  V
P                  V! V^/4      4       V
P                  ^,          V,          V,          R,          pV
P                  ^,          V,          R ,          R,          pV
P                  V.R V4       V
P                  V.W4       V P                  V
P                  ^,          V! W/! R V! RV! V34      /4      W! RV! V34      /4      /4      /4      4       V P                  V
P                  V! V^/4      4       V
P                  ^,          V,          V,          R,          pV
P                  ^,          V,          R ,          R,          pV P                  VV4       V P                  VV4       V
P                  V.R V4       V
P                  V.W4       V P                  \        V
P                  4      ^ 4       V P                  \        V
P                  4      ^ 4       R # )Nr(  r   )r-   r   r   r4  r   r   r   r   r   r   r   r0  r<  rA   )r5   r   r   r   r   r   r"   r%   r(   r+   r   firstsecondthirdfourthr   r   r   IR0_leaf_origNon_leaf_origIR0_leaf_newNon_leaf_news   &                     r   test_unsubscribe_after_multiple8BaseAdapterRegistryTests.test_unsubscribe_after_multiple<  s     	
c#C==?C5$.C5$/C5#-C5#...x.J!!#%%'""$..q12b"a012RQ/01 7
 4 	 	++R1
 . 	
 !--a05c:2> --a05d;B?cUD%0cUC/..q12b"a	l+,RQy\*+ 7
 4 	 	++R1
 . 	  ,,Q/4S9"=,,Q/4T:2>|<|<cUD&1cUC0X223Q7X//0!4r   c                   \        4       w	  rr4rVrxp	V P                  4       p
\        4       pV
P                  V.W4       V
P                  V.W4       V P	                  4       pV P                  4       pV P                  4       pV P                  V
P                  ^,          V! W,! W! RV! W34      /4      /4      /4      4       V P                  V
P                  V! V^/4      4       V
P                  V.W4       V
P                  V.W4       V P                  \        V
P                  4      ^ 4       V P                  V
P                  V! 4       4       R# r   r   Nr-   r   r   r4  r   r   r   r   r   r   r0  rA   )r5   r   r   r   r   r   r"   r%   r(   r+   r   r?  r   r   r   s   &              r   5test_subscribe_unsubscribe_identical_objects_providedNBaseAdapterRegistryTests.test_subscribe_unsubscribe_identical_objects_providedr  sH    	
c#C==?C5#-C5#-!!#%%'""$..q12RQ~./0 7
 4 	
 	++R1
 . 	 	cUC/cUC/X223Q7++RT2r   c                   \        4       w	  rr4rVrxp	V P                  4       p
\        4       p\        4       pV
P                  V.W4       V
P                  V.W4       V P	                  4       pV P                  4       pV P                  4       pV P                  V
P                  ^,          V! W-! W! RV! W34      /4      /4      /4      4       V P                  V
P                  V! V^/4      4       V
P                  V.W4       V
P                  V.W4       V P                  \        V
P                  4      ^ 4       V P                  V
P                  V! 4       4       R# rJ  rK  )r5   r   r   r   r   r   r"   r%   r(   r+   r   r?  r@  r   r   r   s   &               r   4test_subscribe_unsubscribe_nonequal_objects_providedMBaseAdapterRegistryTests.test_subscribe_unsubscribe_nonequal_objects_provided  sO    	
c#C==?C5#-C5#.!!#%%'""$..q12RQ/01 7
 4 	
 	++R1
 . 	 	cUC/cUC0X223Q7++RT2r   c                    V P                  4       pV P                  VP                  R .R R4      4       \        VP	                  4       4      pV P                  V. 4       R # r  )r   assertIsNone
subscribedr   allSubscriptionsr   )r5   r   rS  s   &  r   test_subscribed_empty.BaseAdapterRegistryTests.test_subscribed_empty  sO    ==?(--tfdB?@(3356
R(r   c           	     @   \        4       w	  rr4rVrxp	V P                  4       p
V
P                  V.VR 4       V P                  V
P	                  V.VR4      4       V P                  V
P	                  V.VR4      4       V P                  V
P	                  V.VR4      4       R# )r   r   N)r-   r   r4  rR  rS  r   s   &          r   test_subscribed_non_empty_miss7BaseAdapterRegistryTests.test_subscribed_non_empty_miss  s     	
c#C==?C5#t,(--seS"=>(--seS"=>(--seS"=>r   c           	         \        4       w	  rr4rVrxp	V P                  4       p
V
P                  V.VR 4       V P                  V
P	                  V.VR 4      R 4       R# r   )r-   r   r4  r   rS  r   s   &          r   test_subscribed_non_empty_hit6BaseAdapterRegistryTests.test_subscribed_non_empty_hit  sZ     	
c#C==?C5#t,,,cUC>Er   c           	     T   \        4       w	  rr4rVrxp	V P                  4       p
\        4       p\        4       pV
P                  V.R V4       V
P                  V.R V4       V P	                  V
^R7       V
P                  V.R 4       V P                  \        V
P                  4      ^ 4       R # )Nr(  )	r-   r   r   r4  r   r0  r   rA   r   )r5   r   r   r   r   r   r"   r%   r(   r+   r   r?  r@  s   &            r   &test_unsubscribe_w_None_after_multiple?BaseAdapterRegistryTests.test_unsubscribe_w_None_after_multiple  s     	
c#C==?C5$.C5$/..x.JcUD)X223Q7r   c                   \        4       w	  rr4rVrxp	V P                  4       p
V
P                  V.R R4       V P                  V
^R7       V
P	                  V.R R4       V P                  \        V
P                  4      ^4       V P                  4       pV P                  4       pV P                  V
P                  ^,          V! W+! R V! RV! R4      /4      /4      /4      4       R # )Nr   r(  r   r   
r-   r   r4  r   r0  r   rA   r   r   r   r5   r   r   r   r   r   r"   r%   r(   r+   r   r   r   s   &            r   +test_unsubscribe_non_empty_miss_on_requiredDBaseAdapterRegistryTests.test_unsubscribe_non_empty_miss_on_required  s     	
c#C==?C5$-..x.JcUD"-X223Q7!!#%%'..q12b"aj)* 7
 4 	r   c                   \        4       w	  rr4rVrxp	V P                  4       p
V
P                  V.R R4       V P                  V
^R7       V
P	                  V.R R4       V P                  \        V
P                  4      ^4       V P                  4       pV P                  4       pV P                  V
P                  ^,          V! W+! R V! RV! R4      /4      /4      /4      4       R # )Nr   r(  r   r   ra  rb  rc  s   &            r   (test_unsubscribe_non_empty_miss_on_valueABaseAdapterRegistryTests.test_unsubscribe_non_empty_miss_on_value  s     	
c#C==?C5$-..x.JcUD$/X223Q7!!#%%'..q12b"aj)* 7
 4 	r   c           	        \        4       w	  rr4rVrxp	V P                  4       p
\        4       p\        4       pV
P                  V.R V4       V
P	                  V.R V4       V P                  \        V
P                  4      ^4       R # r1   )r-   r   r   r4  r0  r   rA   r   r"  s   &            r   )test_unsubscribe_with_value_not_None_missBBaseAdapterRegistryTests.test_unsubscribe_with_value_not_None_miss  sv     	
c#C==?x(C5$-cUD'2X223Q7r   c                (    V P                  R 4       R# )z*Example method, not intended to be called.NfailrB   s   &r   _instance_method_notify_target7BaseAdapterRegistryTests._instance_method_notify_target  s    		>?r   c           	     R   \        4       w	  rr4rVrxp	V P                  4       p
V P                  \        V
P                  4      ^ 4       V
P                  V.RV P                  4       V
P                  V.RV P                  4       V P                  \        V
P                  4      ^ 4       R# r   )r-   r   r   rA   r   r4  ro  r0  r   s   &          r    test_unsubscribe_instance_method9BaseAdapterRegistryTests.test_unsubscribe_instance_method  s     	
c#C==?X223Q7C5$(K(KLcUD$*M*MNX223Q7r   c                  aaaaaa \        4       w	  oooorpooV P                  4       pVP                  . SR 4       VP                  . SR4       VP                  S.SR 4       VP                  S.SR4       VP                  S.SR4       VP                  S.SR4       VP                  SS.SR 4       VP                  SS.SR4       VP                  SS.SR4       VP                  SS.SR4       VVVVVV3R lpV P                  VP                  V! V P                  4       V P                  4       V P                  4       R7      4       VV3R lpV P                  VP                  V! V P                  4       R7      4       \        VP                  4       4      pV P                  VR
SR 3R
SR3S3SR 3S3SR3S3SR3S3SR3SS3SR 3SS3SR3SS3SR3SS3SR3.
4       V P                  4       pV F  p	VP                  ! V	!   K  	  V P                  VP                  VP                  4       V P                  VP                  VP                  4       \        Vn        \        Vn        \         Vn        \$        Vn        R p
Wn        VP+                  4        V P                  VP                  V! \         \        \        R7      4       R	# )r   r   r   r   c                   < V ! V! SV! R V! RR.4      /4      /4      V! SV! SV! R V! RR.4      /4      SV! R V! RR.4      /4      /4      /4      V! SV! SV! SV! R V! R.4      /4      /4      SV! SV! R V! R.4      /4      SV! R V! R.4      /4      /4      SV! SV! R V! R.4      /4      /4      /4      /4      .4      # )r   r   r   r   r   r	   )	r   Fr   r   r   r   r   r(   r+   s	   &&&r   build_subscribers\BaseAdapterRegistryTests.test_subscribe_multiple_allRegistrations.<locals>.build_subscribers   s5   AtTlO   R4,!  R4,! 	 	 	 RRD6O!4!  RRD6O!4RD6O!4!  RRD6O!4!   '! ! !r   )r   rv  r   c                    < V ! S^S^/4      # )   r	   )Pr(   r+   s   &r   build_providedYBaseAdapterRegistryTests.test_subscribe_multiple_allRegistrations.<locals>.build_providedK  s    QQ  r   )r{  c                 H    V e   T M	\        4       p V P                  V4       V # r1   r   r   s   &&r   r   SBaseAdapterRegistryTests.test_subscribe_multiple_allRegistrations.<locals>.addValuep  r   r   Nr	   )r-   r   r4  r   r   r   r   r   r   r   r   rT  rV   r   re   r   r_   r   rh   r   r   r   )r5   r   r"   r%   r   rw  r|  r   r   r   r   r   r   r   r   r(   r+   s   &          @@@@@@r   (test_subscribe_multiple_allRegistrationsABaseAdapterRegistryTests.test_subscribe_multiple_allRegistrations  s    	
c3#sC==?2sD)2sD)C5#t,C5#t,C5#t,C5#t,C:sD1C:sD1C:sD1C:sD1"	 "	H 	..*#779#88: $ 4 4 6		 	++'$*?*?*AB	D H5578
dOdOVS$VS$VS$VS$3Zd#3Zd#3Zd#3Zd#&
 	 MMO	D&  	//1F1FG,,h.@.@A !.%7"!/!/	 $, ..*-1 -	r   r	   )r   )1r   r   r   r   maxDiffrp   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-  r1  r5  r<  rG  rL  rO  rU  rX  r[  r^  rd  rg  rj  ro  rr  r  r   rR   rS   s   @r   rj   rj   s   s     G#2(2
I2
IP8iV:
)<)EF
500	B*XK5.
'45l3638)?F8""	8@	8s sr   rj   c                   H   a  ] tR tRt o RtR tR tR tR tR t	R t
R	tV tR
# )#CustomTypesBaseAdapterRegistryTestsi  z
This class may be extended by other packages to test their own
adapter registries that use custom types. (So be cautious about
breaking changes.)

One known user is ``zope.component.persistentregistry``.
c                    \         # r1   )rV   rB   s   &r   r   3CustomTypesBaseAdapterRegistryTests._getMappingType  s    r   c                    \         # r1   )rh   rB   s   &r   r   4CustomTypesBaseAdapterRegistryTests._getProvidedType      r   c                    \         # r1   )r_   rB   s   &r   r   7CustomTypesBaseAdapterRegistryTests._getMutableListType  r  r   c                    \         # r1   )re   rB   s   &r   r   8CustomTypesBaseAdapterRegistryTests._getLeafSequenceType  s    !!r   c                4   a a ^ RI Ho  ! VV 3R lRS4      pV# )r   rl   c                      <a  ] tR tRt o  ZP	                  4       t ZP                  4       t ZP                  4       t	 ZP                  4       tR tV3R ltRtV tR# )ZCustomTypesBaseAdapterRegistryTests._getBaseAdapterRegistry.<locals>.CustomAdapterRegistryi  c                X    V'       g   V P                  4       pVP                  V4       V# r1   )r   rb   )r5   existing_leaf_sequencenew_items   &&&r   r   jCustomTypesBaseAdapterRegistryTests._getBaseAdapterRegistry.<locals>.CustomAdapterRegistry._addValueToLeaf  s(    --1-C-C-E*&--h7--r   c                F   < SP                  V VV4      pW1R &   W!9  g   Q hV# ):NNN)_removeValueFromLeaf)r5   r  	to_removewithout_removedrm   s   &&& r   r  oCustomTypesBaseAdapterRegistryTests._getBaseAdapterRegistry.<locals>.CustomAdapterRegistry._removeValueFromLeaf  s8    "5"J"J*# -<q) >>>--r   r	   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   rR   )rT   rm   r5   s   @r   CustomAdapterRegistryr    sM     //1L 446M $ 9 9 ; 113M.. .r   r  rn   )r5   r  rm   s   f @r   rp   ;CustomTypesBaseAdapterRegistryTests._getBaseAdapterRegistry  s     >	. 	.$7 	.* %$r   c                (    V P                  W4       R # r1   )r   r9  s   &&&r   r<  6CustomTypesBaseAdapterRegistryTests.assertLeafIdentity  s    e#r   r	   N)r   r   r   r   __doc__r   r   r   r   rp   r<  r   rR   rS   s   @r   r  r    s-     "%4$ $r   r  c                      a a ] tR tRt oR t]tRR ltR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tV 3R ltR tR tR tR tR t Rt!Vt"V ;t## ) LookupBaseFallbackTestsi  c                    ^ RI Hp V# )r   )LookupBaseFallback)ro   r  )r5   r  s   & r   _getFallbackClass)LookupBaseFallbackTests._getFallbackClass  s    =!!r   c                |   aaa Sf   R oSf   R oSf   R o ! VVV3R lRV P                  4       4      pV! 4       # )Nc                     R # r1   r	   r5   requiredr   r6   s   &&&&r   	uc_lookup3LookupBaseFallbackTests._makeOne.<locals>.uc_lookup      r   c                     \        4       hr1   NotImplementedErrorr5   r  r   s   &&&r   uc_lookupAll6LookupBaseFallbackTests._makeOne.<locals>.uc_lookupAll      )++r   c                     \        4       hr1   r  r  s   &&&r   uc_subscriptions:LookupBaseFallbackTests._makeOne.<locals>.uc_subscriptions  r  r   c                   *   < ] tR tRt Z t Zt ZtRtR# )1LookupBaseFallbackTests._makeOne.<locals>.Derivedi  r	   N)r   r   r   r   _uncached_lookup_uncached_lookupAll_uncached_subscriptionsr   )r  r  r  s   r   Derivedr    s    (".&6#r   r  r   )r5   r  r  r  r  s   &fff r   r    LookupBaseFallbackTests._makeOne  sN      , #,	7 	7d**, 	7
 yr   c                    R  pV P                  VR7      pV P                  \        4      ;_uu_ 4        VP                  RR\	        4       4       RRR4       R#   + '       g   i     R# ; i)c                 (    V P                  R 4       R# zThis should never be calledNrm  r  s   &&&&r   _lookupCLookupBaseFallbackTests.test_lookup_w_invalid_name.<locals>._lookup      II34r   r  BNA)r   r   r   lookupr   r5   r  lbs   &  r   test_lookup_w_invalid_name2LookupBaseFallbackTests.test_lookup_w_invalid_name  sK    	5 ]]W]-z**IIfc68, +***   AA*	c                   a . oV3R  lpV P                  VR7      pVP                  RRR4      pV P                  V4       V P                  SR.4       R# )c                 .   < SP                  WV34       R # r1   rb   r5   r  r   r6   _called_withs   &&&&r   r  DLookupBaseFallbackTests.test_lookup_miss_no_default.<locals>._lookup      T :;r   r  r  CNr  r  r  r  )r   r  rR  r   r5   r  r  foundr  s   &   @r   test_lookup_miss_no_default3LookupBaseFallbackTests.test_lookup_miss_no_default  sS    	< ]]W]-		&#s+% (:';<r   c                   a . o\        4       pV3R  lpV P                  VR7      pVP                  RRRV4      pV P                  WA4       V P	                  SR.4       R# )c                 .   < SP                  WV34       R # r1   r  r  s   &&&&r   r  CLookupBaseFallbackTests.test_lookup_miss_w_default.<locals>._lookup  r  r   r  r  r  Nr  r  r   r   r  r   r   r5   _defaultr  r  r  r  s   &    @r   test_lookup_miss_w_default2LookupBaseFallbackTests.test_lookup_miss_w_default  sZ    8	< ]]W]-		&#sH5e&(:';<r   c                  aa . o\        4       \        4       \        4       r2pWV.oVV3R  lpV P                  VR7      pVP                  RRR4      pV P                  Wa4       V P	                  SR.4       V P	                  SW#.4       R# )c                 L   < SP                  WV34       SP                  ^ 4      # r   rb   popr5   r  r   r6   r  _resultss   &&&&r   r  ?LookupBaseFallbackTests.test_lookup_not_cached.<locals>._lookup  $    T :;<<?"r   r  r  r  Nr  r  r  	r5   abcr  r  r  r  r  s	   &      @@r   test_lookup_not_cached.LookupBaseFallbackTests.test_lookup_not_cached  s}    (FHfha!9	# ]]W]-		&#s+e(:';<A6*r   c                <  aa . o\        4       \        4       \        4       r2pWV.oVV3R  lpV P                  VR7      pVP                  RRR4      pVP                  RRR4      pV P                  Wa4       V P	                  SR.4       V P	                  SW#.4       R# )c                 L   < SP                  WV34       SP                  ^ 4      # r  r  r  s   &&&&r   r  ;LookupBaseFallbackTests.test_lookup_cached.<locals>._lookup  r  r   r  r  r  Nr  r  r  r  s	   &      @@r   test_lookup_cached*LookupBaseFallbackTests.test_lookup_cached  s    (FHfha!9	# ]]W]-		&#s+		&#s+e(:';<A6*r   c                  aa . o\        4       \        4       \        4       r2pWV.oVV3R  lpV P                  VR7      pVP                  RRR4      pV P                  Wa4       V P	                  SR.4       V P	                  SW#.4       R# )c                 L   < SP                  WV34       SP                  ^ 4      # r  r  r  s   &&&&r   r  NLookupBaseFallbackTests.test_lookup_not_cached_multi_required.<locals>._lookup  r  r   r  r  r  Nr  Dr  r  r  r  r  s	   &      @@r   %test_lookup_not_cached_multi_required=LookupBaseFallbackTests.test_lookup_not_cached_multi_required  s}    (FHfha!9	# ]]W]-		*c3/e(>'?@A6*r   c                <  aa . o\        4       \        4       \        4       r2pWV.oVV3R  lpV P                  VR7      pVP                  RRR4      pVP                  RRR4      pV P                  Wa4       V P	                  SR.4       V P	                  SW#.4       R# )c                 L   < SP                  WV34       SP                  ^ 4      # r  r  r  s   &&&&r   r  JLookupBaseFallbackTests.test_lookup_cached_multi_required.<locals>._lookup+  r  r   r  r  r  Nr  r  r  r  s	   &      @@r   !test_lookup_cached_multi_required9LookupBaseFallbackTests.test_lookup_cached_multi_required&  s    (FHfha!9	# ]]W]-		*c3/		*c3/e(>'?@A6*r   c                `  aa . o\        4       \        4       \        4       r2pWV.oVV3R  lpV P                  VR7      pVP                  RRR4      pVP                  V4       VP                  RRR4      pV P	                  Wb4       V P                  SRR.4       V P                  SV.4       R# )c                 L   < SP                  WV34       SP                  ^ 4      # r  r  r  s   &&&&r   r  MLookupBaseFallbackTests.test_lookup_not_cached_after_changed.<locals>._lookup;  r  r   r  r  r  Nr  r  )r   r   r  r~   r   r   r  s	   &      @@r   $test_lookup_not_cached_after_changed<LookupBaseFallbackTests.test_lookup_not_cached_after_changed6  s    (FHfha!9	# ]]W]-		&#s+


2		&#s+e,.@A	CA3'r   c                    R  pV P                  VR7      pV P                  \        4      ;_uu_ 4        VP                  RR\	        4       4       RRR4       R#   + '       g   i     R# ; i)c                 (    V P                  R 4       R# r  rm  r  s   &&&&r   r  DLookupBaseFallbackTests.test_lookup1_w_invalid_name.<locals>._lookupJ  r  r   r  r  r  N)r   r   r   lookup1r   r  s   &  r   test_lookup1_w_invalid_name3LookupBaseFallbackTests.test_lookup1_w_invalid_nameH  sK    	5 ]]W]-z**JJsC* +***r  c                   a . oV3R  lpV P                  VR7      pVP                  RRR4      pV P                  V4       V P                  SR.4       R# )c                 .   < SP                  WV34       R # r1   r  r  s   &&&&r   r  ELookupBaseFallbackTests.test_lookup1_miss_no_default.<locals>._lookupT  r  r   r  r  r  r  Nr  )r   r  rR  r   r  s   &   @r   test_lookup1_miss_no_default4LookupBaseFallbackTests.test_lookup1_miss_no_defaultQ  sS    	< ]]W]-

3S)% (:';<r   c                   a . o\        4       pV3R  lpV P                  VR7      pVP                  RRRV4      pV P                  WA4       V P	                  SR.4       R# )c                 .   < SP                  WV34       R # r1   r  r  s   &&&&r   r  DLookupBaseFallbackTests.test_lookup1_miss_w_default.<locals>._lookup`  r  r   r  r  r  r  Nr  r   r   r  r   r   r  s   &    @r   test_lookup1_miss_w_default3LookupBaseFallbackTests.test_lookup1_miss_w_default\  sZ    8	< ]]W]-

3S(3e&(:';<r   c                
  a . o\        4       pV3R  lpV P                  VR7      pVP                  RRRV4      pV P                  WA4       VP                  RRRV4      pV P                  WA4       V P	                  SR.4       R# )c                 .   < SP                  WV34       R # r1   r  r  s   &&&&r   r  SLookupBaseFallbackTests.test_lookup1_miss_w_default_negative_cache.<locals>._lookupl  r  r   r  r  r  r  Nr  r  r  s   &    @r   *test_lookup1_miss_w_default_negative_cacheBLookupBaseFallbackTests.test_lookup1_miss_w_default_negative_cacheh  sz    8	< ]]W]-

3S(3e&

3S(3e&(:';<r   c                  aa . o\        4       \        4       \        4       r2pWV.oVV3R  lpV P                  VR7      pVP                  RRR4      pV P                  Wa4       V P	                  SR.4       V P	                  SW#.4       R# )c                 L   < SP                  WV34       SP                  ^ 4      # r  r  r  s   &&&&r   r  @LookupBaseFallbackTests.test_lookup1_not_cached.<locals>._lookup{  r  r   r  r  r  r  Nr  r  r  s	   &      @@r   test_lookup1_not_cached/LookupBaseFallbackTests.test_lookup1_not_cachedv  s}    (FHfha!9	# ]]W]-

3S)e(:';<A6*r   c                <  aa . o\        4       \        4       \        4       r2pWV.oVV3R  lpV P                  VR7      pVP                  RRR4      pVP                  RRR4      pV P                  Wa4       V P	                  SR.4       V P	                  SW#.4       R# )c                 L   < SP                  WV34       SP                  ^ 4      # r  r  r  s   &&&&r   r  <LookupBaseFallbackTests.test_lookup1_cached.<locals>._lookup  r  r   r  r  r  r  Nr  r  r  s	   &      @@r   test_lookup1_cached+LookupBaseFallbackTests.test_lookup1_cached  s    (FHfha!9	# ]]W]-

3S)

3S)e(:';<A6*r   c                `  aa . o\        4       \        4       \        4       r2pWV.oVV3R  lpV P                  VR7      pVP                  RRR4      pVP                  V4       VP                  RRR4      pV P	                  Wb4       V P                  SRR.4       V P                  SV.4       R# )c                 L   < SP                  WV34       SP                  ^ 4      # r  r  r  s   &&&&r   r  NLookupBaseFallbackTests.test_lookup1_not_cached_after_changed.<locals>._lookup  r  r   r  r  r  r  Nr  )r   r   r  r~   r   r   r  s	   &      @@r   %test_lookup1_not_cached_after_changed=LookupBaseFallbackTests.test_lookup1_not_cached_after_changed  s    (FHfha!9	# ]]W]-

3S)


2

3S)e,.@A	CA3'r   c                    \        4       \        4       r!V P                  4       pV P                  \        4      ;_uu_ 4        VP	                  W!\        4       4       R R R 4       R #   + '       g   i     R # ; ir1   )r   r   r   r   adapter_hook)r5   reqprvr  s   &   r    test_adapter_hook_w_invalid_name8LookupBaseFallbackTests.test_adapter_hook_w_invalid_name  sH    8VXS]]_z**OOCfh/ +***s   A&&A7	c                    \        4       \        4       r!V P                  4       pVP                  W!R 4      pV P                  V4       R# r   N)r   r   r.  rR  )r5   r/  r0  r  r  s   &    r   !test_adapter_hook_miss_no_default9LookupBaseFallbackTests.test_adapter_hook_miss_no_default  s6    8VXS]]_"-% r   c                    \        4       \        4       \        4       r2pV P                  4       pVP                  W!R V4      pV P                  WS4       R# r4  )r   r   r.  r   )r5   r/  r0  r  r  r  s   &     r    test_adapter_hook_miss_w_default8LookupBaseFallbackTests.test_adapter_hook_miss_w_default  s<    #Xvx(]]_"h7e&r   c                   aa . oV3R  loV3R lp\        4       \        4       \        4       rCpV P                  VR7      pVP                  W2RV4      pV P                  Wd4       V P	                  SV.4       R# )c                 *   < SP                  V 4       R # r1   r  context_f_called_withs   &r   _factoryTLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_None.<locals>._factory  s    !!'*r   c                    < S# r1   r	   r5   r  r   r6   r?  s   &&&&r   r  SLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_None.<locals>._lookup      Or   r  r  Nr   r   r.  r   r   )	r5   r  r/  r0  r  r  adaptedr>  r?  s	   &      @@r   *test_adapter_hook_hit_factory_returns_NoneBLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_None  se    	+	 $Xvx(]]W]-//#C:g(#/r   c                  aaa	 . o\        4       oVV3R  lo	V	3R lp\        4       \        4       \        4       rCpV P                  VR7      pVP                  W2RV4      pV P                  VS4       V P	                  SV.4       R# )c                 *   < SP                  V 4       S# r1   r  r=  _adapterr>  s   &r   r?  WLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_adapter.<locals>._factory      !!'*Or   c                    < S# r1   r	   rB  s   &&&&r   r  VLookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_adapter.<locals>._lookup  rD  r   r  r  NrE  
r5   r  r/  r0  r  r  rF  rL  r>  r?  s
   &      @@@r   -test_adapter_hook_hit_factory_returns_adapterELookupBaseFallbackTests.test_adapter_hook_hit_factory_returns_adapter  n    8		 $Xvx(]]W]-//#C:gx(#/r   c                   <aa . oV3R  loRV3R llp\        4       p\        4       pV P                  VR7      pVP                  W24      pV P	                  WP4       V P                  SV .4       R# )c                 *   < SP                  V 4       V # r1   r  r<  s   &r   r?  ILookupBaseFallbackTests.test_adapter_hook_super_unwraps.<locals>._factory  s    !!'*Nr   c                    < S# r1   r	   rB  s   &&&&r   r  HLookupBaseFallbackTests.test_adapter_hook_super_unwraps.<locals>._lookup  rD  r   r  N)r   )superr   r   r.  r   r   )	r5   r  r  r   r  rF  r>  r?  	__class__s	   &     @@r   test_adapter_hook_super_unwraps7LookupBaseFallbackTests.test_adapter_hook_super_unwraps  s^    		 78]]W]-//(5g$$0r   c                  aaa	 . o\        4       oVV3R  lo	V	3R lp\        4       \        4       \        4       rCpV P                  VR7      pVP                  W#RV4      pV P                  VS4       V P	                  SV.4       R# )c                 *   < SP                  V 4       S# r1   r  rK  s   &r   r?  ;LookupBaseFallbackTests.test_queryAdapter.<locals>._factory  rN  r   c                    < S# r1   r	   rB  s   &&&&r   r  :LookupBaseFallbackTests.test_queryAdapter.<locals>._lookup  rD  r   r  r  N)r   r   queryAdapterr   r   rQ  s
   &      @@@r   test_queryAdapter)LookupBaseFallbackTests.test_queryAdapter  rT  r   c                   aa . o\        4       \        4       \        4       .oVV3R  lpV P                  VR7      pVP                  RR4      pV P                  V\	        S4      4       V P                  SR.4       R# )c                 >   < SP                  W34       \        S4      # r1   rb   r   r5   r  r   r  r  s   &&&r   
_lookupAllCLookupBaseFallbackTests.test_lookupAll_uncached.<locals>._lookupAll       45?"r   r  r  r  Nr  r  r   r   	lookupAllr   r   r5   rj  r  r  r  r  s   &   @@r   test_lookupAll_uncached/LookupBaseFallbackTests.test_lookupAll_uncached  sg    Hfh1	# ]]
]3S#&h07r   c                  aa . o\        4       \        4       \        4       .oVV3R  lpV P                  VR7      pVP                  RR4      pVP                  RR4      pV P                  V\	        S4      4       V P                  SR.4       R# )c                 >   < SP                  W34       \        S4      # r1   rh  ri  s   &&&r   rj  ALookupBaseFallbackTests.test_lookupAll_cached.<locals>._lookupAll  rl  r   rm  r  r  Nrn  ro  rq  s   &   @@r   test_lookupAll_cached-LookupBaseFallbackTests.test_lookupAll_cached  sw    Hfh1	# ]]
]3S#&S#&h07r   c                   aa . o\        4       \        4       \        4       .oVV3R  lpV P                  VR7      pVP                  RR4      pV P                  V\	        S4      4       V P                  SR.4       R# )c                 >   < SP                  W34       \        S4      # r1   rh  ri  s   &&&r   _subscriptionsKLookupBaseFallbackTests.test_subscriptions_uncached.<locals>._subscriptions  rl  r   r  r  r  Nrn  r   r   subscriptionsr   r   r5   r{  r  r  r  r  s   &   @@r   test_subscriptions_uncached3LookupBaseFallbackTests.test_subscriptions_uncached  si    Hfh1	# ]]N];  c*h07r   c                  aa . o\        4       \        4       \        4       .oVV3R  lpV P                  VR7      pVP                  RR4      pVP                  RR4      pV P                  V\	        S4      4       V P                  SR.4       R# )c                 >   < SP                  W34       \        S4      # r1   rh  ri  s   &&&r   r{  ILookupBaseFallbackTests.test_subscriptions_cached.<locals>._subscriptions'  rl  r   r}  r  r  Nrn  r~  r  s   &   @@r   test_subscriptions_cached1LookupBaseFallbackTests.test_subscriptions_cached#  s{    Hfh1	# ]]N];  c*  c*h07r   r	   NNN)$r   r   r   r   r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r!  r&  r+  r1  r5  r8  rG  rR  r\  rd  rr  rw  r  r  r   rR   __classcell__r[  rT   s   @@r   r  r    s     " (O4-	=
=++ ++ ($+	=
==++ ($0!'00"1"0"8888 8r   r  c                   &   a  ] tR tRt o R tRtV tR# )LookupBaseTestsi2  c                    ^ RI Hp V# )r   )
LookupBase)ro   r  )r5   r  s   & r   r   LookupBaseTests._getTargetClass5  s    5r   r	   Nr   r   r   r   r   r   rR   rS   s   @r   r  r  2  s      r   r  c                   ^   a  ] tR tRt o R t]tRR ltR tR tR t	R t
R	 tR
 tR tRtV tR# )VerifyingBaseFallbackTestsi:  c                    ^ RI Hp V# )r   )VerifyingBaseFallback)ro   r  )r5   r  s   & r   r  ,VerifyingBaseFallbackTests._getFallbackClass<  s    @$$r   Nc                   aaa Sf   R oSf   R oSf   R o ! VVV3R lRV P                  4       4      pV! V4      pVP                  V4       V# )Nc                     \        4       hr1   r  r  s   &&&&r   r  6VerifyingBaseFallbackTests._makeOne.<locals>.uc_lookupG  r  r   c                     \        4       hr1   r  r  s   &&&r   r  9VerifyingBaseFallbackTests._makeOne.<locals>.uc_lookupAllL  r  r   c                     \        4       hr1   r  r  s   &&&r   r  =VerifyingBaseFallbackTests._makeOne.<locals>.uc_subscriptionsQ  r  r   c                   F   <a a ] tR tRt o Zt Zt ZtV 3R ltRtVt	V ;t
# )4VerifyingBaseFallbackTests._makeOne.<locals>.DerivediT  c                0   < \         SV `  4        Wn        R # r1   )rZ  r[   	_registry)r5   r   r[  s   &&r   r[   =VerifyingBaseFallbackTests._makeOne.<locals>.Derived.__init__Y  s     "!)r   )r  )r   r   r   r   r  r  r  r[   r   rR   r  )r[  rT   r  r  r  s   @@r   r  r  T  s!     (".&6#* *r   r  )r   r~   )r5   r   r  r  r  r  deriveds   &&fff  r   r   #VerifyingBaseFallbackTests._makeOneB  sa     , , #,	* 	*d**, 	* (# r   c                B   a  ! R  R4      o ! V3R lR4      pV! V4      # )c                       ] tR tRt^tRtR# )@VerifyingBaseFallbackTests._makeRegistry.<locals>.WithGenerationic  r	   N)r   r   r   r   r   r   r	   r   r   WithGenerationr  c  s    Kr   r  c                   .   <a  ] tR tRt o V3R ltRtV tR# ):VerifyingBaseFallbackTests._makeRegistry.<locals>.Registryif  c                \   < \        V4       Uu. uF
  pS! 4       NK  	  upV n        R # u upi r1   )rangero)r5   depthir  s   && r   r[   CVerifyingBaseFallbackTests._makeRegistry.<locals>.Registry.__init__g  s#    5:5\B\>+\BBs   ))r  Nr]   )rT   r  s   @r   Registryr  f  s     C Cr   r  r	   )r5   r  r  r  s   && @r   _makeRegistry(VerifyingBaseFallbackTests._makeRegistrya  s%    	 		C 	C r   c                H  aa	 . o\        4       \        4       \        4       r2pWV.o	VV	3R  lpV P                  ^4      pV P                  WTR7      pVP                  RRR4      pVP                  RRR4      pV P	                  Wq4       V P                  SR.4       V P                  S	W#.4       VP                  ^,          ;P                  ^,          un        VP                  RRR4      pV P	                  Wr4       V P                  SRR.4       V P                  S	V.4       R# )c                 L   < SP                  WV34       SP                  ^ 4      # r  r  r  s   &&&&r   r  7VerifyingBaseFallbackTests.test_lookup.<locals>._lookupq  r  r   r  r  r  Nr  r  )r   r  r   r  r   r   r  r   
r5   r  r  r  r  rx   r  r  r  r  s
   &       @@r   test_lookup&VerifyingBaseFallbackTests.test_lookupl  s   (FHfha!9	#   #]]3]2		&#s+		&#s+e(:';<A6*q	"		&#s+e,.@A	CA3'r   c                H  aa	 . o\        4       \        4       \        4       r2pWV.o	VV	3R  lpV P                  ^4      pV P                  WTR7      pVP                  RRR4      pVP                  RRR4      pV P	                  Wq4       V P                  SR.4       V P                  S	W#.4       VP                  ^,          ;P                  ^,          un        VP                  RRR4      pV P	                  Wr4       V P                  SRR.4       V P                  S	V.4       R# )c                 L   < SP                  WV34       SP                  ^ 4      # r  r  r  s   &&&&r   r  8VerifyingBaseFallbackTests.test_lookup1.<locals>._lookup  r  r   r  r  r  r  Nr  )r   r  r   r  r   r   r  r   r  s
   &       @@r   test_lookup1'VerifyingBaseFallbackTests.test_lookup1  s   (FHfha!9	#   #]]3]2

3S)

3S)e(:';<A6*q	"

3S)e,.@A	CA3'r   c                :  a aaa \        4       \        4       \        4       .w  oopV3R  lpV3R lpV 3R lpW#V.oV3R lp\        4       \        4       \        4       rpS P                  ^4      p	S P                  WR7      p
V
P                  WvRV4      pS P	                  VS4       V
P                  WvRV4      pS P	                  VS4       V	P
                  ^,          ;P                  ^,          un        V
P                  WvRV4      pS P	                  VS4       R# )c                    < S# r1   r	   r=  r  s   &r   	_factory1?VerifyingBaseFallbackTests.test_adapter_hook.<locals>._factory1      Hr   c                    < S# r1   r	   r=  r  s   &r   	_factory2?VerifyingBaseFallbackTests.test_adapter_hook.<locals>._factory2  r  r   c                 *   < SP                  R 4       R# r  rm  r=  r5   s   &r   	_factory3?VerifyingBaseFallbackTests.test_adapter_hook.<locals>._factory3      II34r   c                 &   < SP                  ^ 4      # r  r  r5   r  r   r6   
_factoriess   &&&&r   r  =VerifyingBaseFallbackTests.test_adapter_hook.<locals>._lookup      >>!$$r   r  r  N)r   r  r   r.  r   r  r   r5   _cr  r  r  r  r/  r0  r  rx   r  rF  r  r  r  s   f           @@@r   test_adapter_hook,VerifyingBaseFallbackTests.test_adapter_hook      Hfh11b			5  I6
	% $Xvx(  #]]3]2//#C:gq!//#C:gq!q	"//#C:gq!r   c                :  a aaa \        4       \        4       \        4       .w  oopV3R  lpV3R lpV 3R lpW#V.oV3R lp\        4       \        4       \        4       rpS P                  ^4      p	S P                  WR7      p
V
P                  WgRV4      pS P	                  VS4       V
P                  WgRV4      pS P	                  VS4       V	P
                  ^,          ;P                  ^,          un        V
P                  WvRV4      pS P	                  VS4       R# )c                    < S# r1   r	   r  s   &r   r  ?VerifyingBaseFallbackTests.test_queryAdapter.<locals>._factory1  r  r   c                    < S# r1   r	   r  s   &r   r  ?VerifyingBaseFallbackTests.test_queryAdapter.<locals>._factory2  r  r   c                 *   < SP                  R 4       R# r  rm  r  s   &r   r  ?VerifyingBaseFallbackTests.test_queryAdapter.<locals>._factory3  r  r   c                 &   < SP                  ^ 4      # r  r  r  s   &&&&r   r  =VerifyingBaseFallbackTests.test_queryAdapter.<locals>._lookup  r  r   r  r  N)r   r  r   rc  r   r  r   r.  r  s   f           @@@r   rd  ,VerifyingBaseFallbackTests.test_queryAdapter  r  r   c                6  a \        4       \        4       \        4       .p\        4       \        4       \        4       .pW.oV3R  lpV P                  ^4      pV P                  WCR7      pVP                  RR4      pV P	                  V\        V4      4       VP                  RR4      pV P	                  V\        V4      4       VP                  ^,          ;P                  ^,          un        VP                  RR4      pV P	                  V\        V4      4       R# )c                 8   < \        SP                  ^ 4      4      # r  r   r  r5   r  r   r  s   &&&r   rj  =VerifyingBaseFallbackTests.test_lookupAll.<locals>._lookupAll      a))r   rm  r  r  N)r   r  r   rp  r   r   r  r   )r5   
_results_1
_results_2rj  rx   r  r  r  s   &      @r   test_lookupAll)VerifyingBaseFallbackTests.test_lookupAll  s    h&(3
h&(3
+	*   #]]3]8S#&j 12S#&j 12q	"S#&j 12r   c                6  a \        4       \        4       \        4       .p\        4       \        4       \        4       .pW.oV3R  lpV P                  ^4      pV P                  WCR7      pVP                  RR4      pV P	                  V\        V4      4       VP                  RR4      pV P	                  V\        V4      4       VP                  ^,          ;P                  ^,          un        VP                  RR4      pV P	                  V\        V4      4       R# )c                 8   < \        SP                  ^ 4      4      # r  r  r  s   &&&r   r{  EVerifyingBaseFallbackTests.test_subscriptions.<locals>._subscriptions  r  r   r}  r  r  N)r   r  r   r  r   r   r  r   )r5   r  r  r{  rx   r  r  r  s   &      @r   test_subscriptions-VerifyingBaseFallbackTests.test_subscriptions  s    h&(3
h&(3
+	*   #]]3]@  c*j 12  c*j 12q	"  c*j 12r   r	   r  )r   r   r   r   r  r   r   r  r  r  r  rd  r  r  r   rR   rS   s   @r   r  r  :  s>     % (O>	(.(."8"83$3 3r   r  c                   &   a  ] tR tRt o R tRtV tR# )VerifyingBaseTestsi  c                    ^ RI Hp V# )r   )VerifyingBase)ro   r  )r5   r  s   & r   r   "VerifyingBaseTests._getTargetClass  s    8r   r	   Nr  rS   s   @r   r  r    s      r   r  c                   
  a a ] tR tRt oR tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tV 3R ltR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R't)Vt*V ;t+# )(AdapterLookupBaseTestsi  c                    ^ RI Hp V# )r   )AdapterLookupBase)ro   r  )r5   r  s   & r   r   &AdapterLookupBaseTests._getTargetClass  s    <  r   c                .    V P                  4       ! V4      # r1   r   r   s   &&r   r   AdapterLookupBaseTests._makeOne  s    ##%h//r   c                $     ! R  R4      pV! 4       # )c                   &   a  ] tR tRt o R tRtV tR# )<AdapterLookupBaseTests._makeSubregistry.<locals>.Subregistryi
  c                "    . V n         . V n        R # r1   r   r   rB   s   &r   r[   EAdapterLookupBaseTests._makeSubregistry.<locals>.Subregistry.__init__  s    !#$&!r   r  Nr]   rS   s   @r   Subregistryr  
  s     ' 'r   r  r	   )r5   r   r  s   &* r   _makeSubregistry'AdapterLookupBaseTests._makeSubregistry  s    	' 	'
 }r   c                &     ! R  R4      pV! V4      # )c                   &   a  ] tR tRt o R tRtV tR# )6AdapterLookupBaseTests._makeRegistry.<locals>.Registryi  c                     Wn         . V n        R # r1   r   r  r   s   &&r   r[   ?AdapterLookupBaseTests._makeRegistry.<locals>.Registry.__init__  s    !)r   r
  Nr]   rS   s   @r   r  r    s      r   r  r	   )r5   r   r  s   &* r   r  $AdapterLookupBaseTests._makeRegistry  s    	 	
 !!r   c                    V P                  4       pV P                  V4      pV P                  VP                  / 4       R # r1   )r  r   r   r   )r5   r   albs   &  r   test_ctor_empty_registry/AdapterLookupBaseTests.test_ctor_empty_registry  s2    %%'mmH%,r   c                   ^ RI Hp ^ RIHp V! R4      pV! RV34      pV P	                  W44      pV P                  V4      pV P                  \        VP                  P                  4       4      \        WCV.4      4       V P                  VP                  V,          W4.4       V P                  VP                  V,          V.4       V P                  \        VP                  V,          4      \        W4.4      4       R# r   r   InterfaceClassIFooIBarN)
r,   r   zope.interface.interfacer  r  r   r   r   r   keysr5   r   r  r  r  r   r  s   &      r   test_ctor_w_registry_provided4AdapterLookupBaseTests.test_ctor_w_registry_provided  s    ,;f%ftg.%%d1mmH% 3 3 56Y 78	:-|<-v6y 9:-	/r   c                     ! R  R4      p ! R RV P                  4       V4      pV P                  4       pV! V4      pVP                  V4       R# )c                   &   a  ] tR tRt o R tRtV tR# )AAdapterLookupBaseTests.test_changed_empty_required.<locals>.Mixini0  c                    R # r1   r	   rJ   s   &*r   r~   IAdapterLookupBaseTests.test_changed_empty_required.<locals>.Mixin.changed1  r  r   r	   Nr   r   r   r   r~   r   rR   rS   s   @r   Mixinr  0        r   r"  c                       ] tR tRtRtR# )CAdapterLookupBaseTests.test_changed_empty_required.<locals>.Derivedi4  r	   Nr
   r	   r   r   r  r%  4  r   r   r  N)r   r  r~   )r5   r"  r  r   r  s   &    r   test_changed_empty_required2AdapterLookupBaseTests.test_changed_empty_required-  sI    	 		d**,e 	 %%'hCr   c                    ! R  R4      p ! R RV P                  4       V4      p ! R R4      pV! R4      pV! R4      pV P                  4       pV! V4      p^VP                  V&   ^VP                  V&   VP                  V4       V P	                  \        VP                  4      ^ 4       V P	                  VP                  R4       V P	                  VP                  V4       R# )	c                   &   a  ] tR tRt o R tRtV tR# )=AdapterLookupBaseTests.test_changed_w_required.<locals>.Mixini>  c                    R # r1   r	   rJ   s   &*r   r~   EAdapterLookupBaseTests.test_changed_w_required.<locals>.Mixin.changed?  r  r   r	   Nr!  rS   s   @r   r"  r*  >  r#  r   r"  c                       ] tR tRtRtR# )?AdapterLookupBaseTests.test_changed_w_required.<locals>.DerivediB  r	   Nr
   r	   r   r   r  r.  B  r   r   r  c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )CAdapterLookupBaseTests.test_changed_w_required.<locals>.FauxWeakrefiE  Nc                    Wn         R # r1   _here)r5   heres   &&r   r[   LAdapterLookupBaseTests.test_changed_w_required.<locals>.FauxWeakref.__init__H  s    !
r   c                .    V P                   '       d   V # R # r1   r2  rB   s   &r   __call__LAdapterLookupBaseTests.test_changed_w_required.<locals>.FauxWeakref.__call__K  s    #zzzt3t3r   c                    Wn         R # r1   )_unsub)r5   targets   &&r   r0  OAdapterLookupBaseTests.test_changed_w_required.<locals>.FauxWeakref.unsubscribeN  s    $r   )r3  r:  )
r   r   r   r   r:  r[   r7  r0  r   rR   rS   s   @r   FauxWeakrefr0  E  s     F"4% %r   r=  FTN)r   r  	_requiredr~   r   rA   r:  )r5   r"  r  r=  goner4  r   r  s   &       r   test_changed_w_required.AdapterLookupBaseTests.test_changed_w_required;  s    	 		d**,e 	
	% 
	% 5!4 %%'hddCS]]+Q/d+c*r   c                ,   ^ RI Hp ^ RIHp V! R4      pV! RV34      pV P	                  4       pV P                  V4      pW4.Vn        VP                  4        V P                  \        VP                  P                  4       4      \        WCV.4      4       V P                  VP                  V,          W4.4       V P                  VP                  V,          V.4       V P                  \        VP                  V,          4      \        W4.4      4       R# r  )r,   r   r  r  r  r   r   init_extendorsr   r   r   r  r  s   &      r   )test_init_extendors_after_registry_update@AdapterLookupBaseTests.test_init_extendors_after_registry_update\  s    ,;f%ftg.%%'mmH%"\ 3 3 56Y 78	:-|<-v6y 9:-	/r   c                @   ^ RI Hp ^ RIHp V! R4      pV! RV34      pV P	                  4       pV P                  V4      pVP                  V4       VP                  V4       V P                  \        VP                  P                  4       4      \        WCV.4      4       V P                  VP                  V,          W4.4       V P                  VP                  V,          V.4       V P                  \        VP                  V,          4      \        W4.4      4       R# r  )r,   r   r  r  r  r   r   r   r   r   r  r  s   &      r   test_add_extendor(AdapterLookupBaseTests.test_add_extendorl  s    ,;f%ftg.%%'mmH% 3 3 56Y 78	:-|<-v6y 9:-	/r   c                    ^ RI Hp ^ RIHp V! R4      pV! RV34      pV P	                  W44      pV P                  V4      pVP                  V4       V P                  \        VP                  P                  4       4      \        W4V.4      4       V P                  VP                  V,          V.4       V P                  VP                  V,          V.4       V P                  \        VP                  V,          4      \        V.4      4       R# r  )r,   r   r  r  r  r   r   r   r   r   r  r  s   &      r   test_remove_extendor+AdapterLookupBaseTests.test_remove_extendor|  s    ,;f%ftg.%%d1mmH%D! 3 3 56Y 78	:-v6-v6y 9:	)r   c                `   ^ RI Hp V! R4      pV! RV34      pV P                  4       pV P                  V4      pVP	                  V3V4      pV P                  VR4       V P                  \        VP                  4      ^4       V P                  VP                  4       VP                  4       R# r   r  r  r  N)
r  r  r  r   r  r   rA   r>  r)  weakrefr5   r  r  r  r   r  results   &      r   test__uncached_lookup_empty_ro5AdapterLookupBaseTests.test__uncached_lookup_empty_ro  s    ;f%ftg.%%'mmH%%%tgt4&S]]+Q/dllncmm4r   c                   ^ RI Hp V! R4      pV! RV34      pV P                  W#4      pV P                  4       pVP                  P                  V4       V P                  V4      pVP                  V3V4      pV P                  VR4       R# rM  )	r  r  r  r  r  rb   r   r  r   r5   r  r  r  r   subrr  rP  s   &       r    test__uncached_lookup_order_miss7AdapterLookupBaseTests.test__uncached_lookup_order_miss  s    ;f%ftg.%%d1$$&4 mmH%%%tgt4&r   c                6   ^ RI Hp V! R4      pV! RV34      pV P                  4       pV P                  4       p/ / .Vn        VP
                  P                  V4       V P                  V4      pWen        VP                  V3V4      pV P                  VR4       R# rM  )r  r  r  r  r   r  rb   r   r   r  r   rT  s   &       r   $test__uncached_lookup_extendors_miss;AdapterLookupBaseTests.test__uncached_lookup_extendors_miss  s    ;f%ftg.%%'$$&b4 mmH%%%tgt4&r   c                h   ^ RI Hp V! R4      pV! RV34      pV! R4      pV P                  W#4      pV P                  4       p\	        4       p/ VVRV///.Vn        VP                  P                  V4       V P                  V4      pWn	        VP                  V3V4      p	V P                  V	R4       R# r   r  r  r  IQuxr   Nr  r  r  r  r   r   r  rb   r   r   r  r   
r5   r  r  r  r]  r   rU  
irrelevantr  rP  s
   &         r   1test__uncached_lookup_components_miss_wrong_ifaceHAdapterLookupBaseTests.test__uncached_lookup_components_miss_wrong_iface  s    ;f%ftg.f%%%d1$$&X
2z*
 	4 mmH%%%tgt4&r   c                X   ^ RI Hp V! R4      pV! RV34      pV P                  W#4      pV P                  4       p\	        4       p/ VVRV///.Vn        VP                  P                  V4       V P                  V4      pWun	        VP                  V3V4      pV P                  VR4       R# r   r  r  r  	wrongnameNr^  	r5   r  r  r  r   rU  re  r  rP  s	   &        r   0test__uncached_lookup_components_miss_wrong_nameGAdapterLookupBaseTests.test__uncached_lookup_components_miss_wrong_name  s    ;f%ftg.%%d1$$&H	;	2
 	4 mmH%%%tgt4&r   c                T   ^ RI Hp V! R4      pV! RV34      pV P                  W#4      pV P                  4       p\	        4       p/ W#RV///.Vn        VP                  P                  V4       V P                  V4      pWun	        VP                  V3V4      pV P                  W4       R# r   r  r  r  r   Nr  r  r  r  r   r   r  rb   r   r   r  r   )	r5   r  r  r  r   rU  	_expectedr  rP  s	   &        r    test__uncached_lookup_simple_hit7AdapterLookupBaseTests.test__uncached_lookup_simple_hit  s    ;f%ftg.%%d1$$&H	2y/*+
 	4 mmH%%%tgt4f(r   c                   ^ RI Hp V! R4      pV! RV34      pV P                  W#4      pV P                  4       p\	        4       p/ W#RV///.Vn        VP                  P                  V4       V P                  V4      pWun	        VP                  V3V4      pVP                  V3V4      p	V P                  W4       V P                  W4       R# rj  rk  )
r5   r  r  r  r   rU  rl  r  rP  result2s
   &         r   "test__uncached_lookup_repeated_hit9AdapterLookupBaseTests.test__uncached_lookup_repeated_hit  s    ;f%ftg.%%d1$$&H	2y/*+
 	4 mmH%%%tgt4&&w5f(g)r   c                   ^ RI Hp ^ RIHp V! R4      pV! RV34      pV! V4       ! R R4      4       pV! 4       pV P	                  4       pV P                  4       p/ / .Vn        VP                  P                  V4       V P                  V4      p	V	P                  V	n        Wn        \        4       p
V	P                  V3WJR7      pV P                  W4       R# )	r   implementerr  r  r  c                       ] tR tRtRtR# )FAdapterLookupBaseTests.test_queryMultiAdaptor_lookup_miss.<locals>.Fooi  r	   Nr
   r	   r   r   Foorw        r   rx  defaultN)zope.interface.declarationsru  r  r  r  r  r   r  rb   r   r  r  r   r   queryMultiAdapterr   )r5   ru  r  r  r  rx  foor   rU  r  r  rP  s   &           r   "test_queryMultiAdaptor_lookup_miss9AdapterLookupBaseTests.test_queryMultiAdaptor_lookup_miss   s    ;;f%ftg.	T		 	 
	 e%%'$$&
 	4 mmH%))
8&&vt&Ff'r   c                   aa ^ RI Hp ^ RIHp V! R4      oV P	                  4       pV P                  V4      oSP                  Sn        VV3R lpVP                  WRR7       R# )r   r  )MissingSomeAttrsr  c                 *   < SP                  V 3S4      # r1   )r}  )obr  r  s   &r   testVAdapterLookupBaseTests.test_queryMultiAdapter_errors_on_attribute_access.<locals>.test'  s    (( r   r[  )expected_missingN)	r  r  zope.interface.testsr  r  r   r  r  test_raises)r5   r  r  r   r  r  r  s   &    @@r   1test_queryMultiAdapter_errors_on_attribute_accessHAdapterLookupBaseTests.test_queryMultiAdapter_errors_on_attribute_access  sX     	<9f%%%'mmH%))
	 	$$T+$Nr   c                  a ^ RI Hp ^ RIHp V! R4      pV! RV34      pV! V4       ! R R4      4       pV! 4       pV P	                  W44      pV P                  4       p. oV3R lp	/ W4RV	///.Vn        VP                  P                  V4       V P                  V4      p
V
P                  V
n        Wn        \        4       pV
P                  V3WKR	7      pV P                  W4       V P!                  SV.4       R
# )r   rt  r  r  r  c                       ] tR tRtRtR# )GAdapterLookupBaseTests.test_queryMultiAdaptor_factory_miss.<locals>.Fooi5  r	   Nr
   r	   r   r   rx  r  5  ry  r   rx  c                 *   < SP                  V 4       R # r1   r  )r=  r  s   &r   r?  LAdapterLookupBaseTests.test_queryMultiAdaptor_factory_miss.<locals>._factory>  s    (r   r   rz  N)r|  ru  r  r  r  r  r   r  rb   r   r  r  r   r   r}  r   r   )r5   ru  r  r  r  rx  r~  r   rU  r?  r  r  rP  r  s   &            @r   #test_queryMultiAdaptor_factory_miss:AdapterLookupBaseTests.test_queryMultiAdaptor_factory_miss/  s    ;;f%ftg.	T		 	 
	 e%%d1$$&	) 2x.)*
 	4 mmH%))
8&&vt&Ff'u-r   c                  aa ^ RI Hp ^ RIHp V! R4      pV! RV34      pV! V4       ! R R4      4       pV! 4       pV P	                  W44      pV P                  4       p\        4       o. oVV3R lp	/ W4RV	///.Vn        VP                  P                  V4       V P                  V4      p
V
P                  V
n        Wn        \        4       pV
P                  V3WKR	7      pV P                  VS4       V P!                  SV.4       R
# )r   rt  r  r  r  c                       ] tR tRtRtR# )FAdapterLookupBaseTests.test_queryMultiAdaptor_factory_hit.<locals>.FooiT  r	   Nr
   r	   r   r   rx  r  T  ry  r   rx  c                 *   < SP                  V 4       S# r1   r  )r=  r  rl  s   &r   r?  KAdapterLookupBaseTests.test_queryMultiAdaptor_factory_hit.<locals>._factory^  s    (r   r   rz  N)r|  ru  r  r  r  r  r   r   r  rb   r   r  r  r   r}  r   r   )r5   ru  r  r  r  rx  r~  r   rU  r?  r  r  rP  r  rl  s   &            @@r   "test_queryMultiAdaptor_factory_hit9AdapterLookupBaseTests.test_queryMultiAdaptor_factory_hitN  s   ;;f%ftg.	T		 	 
	 e%%d1$$&H		
 2x.)*
 	4 mmH%))
8&&vt&Ffi(u-r   c                   <a V P                  V P                  4       4      pV3R  lpR oW!n        \        4       ^*R\        4       .pVP	                  VR4      pV P                  VV ^*RV 34       R# )c                     < S# r1   r	   )r   factorys   *r   r  KAdapterLookupBaseTests.test_queryMultiAdapter_super_unwraps.<locals>.lookupr  s    Nr   c                      V # r1   r	   )r   s   *r   r  LAdapterLookupBaseTests.test_queryMultiAdapter_super_unwraps.<locals>.factoryu  s    Kr   abcN)r   r  r  rZ  r}  r   )r5   r  r  objectsrP  r  r[  s   &    @r   $test_queryMultiAdapter_super_unwraps;AdapterLookupBaseTests.test_queryMultiAdapter_super_unwrapso  sy    mmD..01		 
 GG	
 &&w5	"
 	r   c                `   ^ RI Hp V! R4      pV! RV34      pV P                  4       pV P                  V4      pVP	                  V3V4      pV P                  VR4       V P                  \        VP                  4      ^4       V P                  VP                  4       VP                  4       R# r   r  r  r  Nr	   )
r  r  r  r   r  r   rA   r>  r)  rN  rO  s   &      r   !test__uncached_lookupAll_empty_ro8AdapterLookupBaseTests.test__uncached_lookupAll_empty_ro  s    ;f%ftg.%%'mmH%(($$7$S]]+Q/dllncmm4r   c                &   ^ RI Hp V! R4      pV! RV34      pV P                  W#4      pV P                  4       pVP                  P                  V4       V P                  V4      pWen        VP                  V3V4      pV P                  VR4       R# r  )
r  r  r  r  r  rb   r   r   r  r   rT  s   &       r   #test__uncached_lookupAll_order_miss:AdapterLookupBaseTests.test__uncached_lookupAll_order_miss  s    ;f%ftg.%%d1$$&4 mmH%(($$7$r   c                6   ^ RI Hp V! R4      pV! RV34      pV P                  4       pV P                  4       p/ / .Vn        VP
                  P                  V4       V P                  V4      pWen        VP                  V3V4      pV P                  VR4       R# r  )r  r  r  r  r   r  rb   r   r   r  r   rT  s   &       r   'test__uncached_lookupAll_extendors_miss>AdapterLookupBaseTests.test__uncached_lookupAll_extendors_miss  s    ;f%ftg.%%'$$&b4 mmH%(($$7$r   c                f   ^ RI Hp V! R4      pV! RV34      pV! R4      pV P                  W#4      pV P                  4       p\	        4       p/ W$RV///.Vn        VP                  P                  V4       V P                  V4      pWn	        VP                  V3V4      p	V P                  V	R4       R# )r   r  r  r  r]  r   Nr	   )r  r  r  r  r   r   r  rb   r   r   r  r   r_  s
   &         r   (test__uncached_lookupAll_components_miss?AdapterLookupBaseTests.test__uncached_lookupAll_components_miss  s    ;f%ftg.f%%%d1$$&X
2z*+,
 	4 mmH%(($$7$r   c                   ^ RI Hp V! R4      pV! RV34      pV P                  W#4      pV P                  4       p\	        4       p\	        4       p/ W#RVRV///.Vn        VP                  P                  V4       V P                  V4      pWn	        VP                  V3V4      p	V P                  \        V	4      RV3RV3.4       R# r   r  r  r  r   namedN)r  r  r  r  r   r   r  rb   r   r   r  r   r   
r5   r  r  r  r   rU  rl  _namedr  rP  s
   &         r   #test__uncached_lookupAll_simple_hit:AdapterLookupBaseTests.test__uncached_lookupAll_simple_hit  s    ;f%ftg.%%d1$$&H	2y'6:;<
 	4 mmH%(($$72y/GV;L)MNr   c                   ^ RI Hp V! R4      pV! RV34      pV P                  W#4      pV P                  4       p\	        4       p\	        4       p/ W#RVRV///.Vn        VP                  P                  V4       V P                  V4      pVP                  Vn
        Wn        VP                  V3V4      p	V P                  \        V	4      RR.4       R# r  )r  r  r  r  r   r   r  rb   r   r  rp  r   namesr   r   r  s
   &         r   
test_names!AdapterLookupBaseTests.test_names  s    ;f%ftg.%%d1$$&H	2y'6:;<
 	4 mmH%//D7D)"g7r   c                `   ^ RI Hp V! R4      pV! RV34      pV P                  4       pV P                  V4      pVP	                  V3V4      pV P                  V. 4       V P                  \        VP                  4      ^4       V P                  VP                  4       VP                  4       R# rM  )
r  r  r  r   r  r   rA   r>  r)  rN  rO  s   &      r   %test__uncached_subscriptions_empty_ro<AdapterLookupBaseTests.test__uncached_subscriptions_empty_ro  s    ;f%ftg.%%'mmH%,,dWd;$S]]+Q/dllncmm4r   c                &   ^ RI Hp V! R4      pV! RV34      pV P                  W#4      pV P                  4       pVP                  P                  V4       V P                  V4      pWen        VP                  V3V4      pV P                  V. 4       R# rM  )
r  r  r  r  r  rb   r   r   r  r   rT  s   &       r   'test__uncached_subscriptions_order_miss>AdapterLookupBaseTests.test__uncached_subscriptions_order_miss  s    ;f%ftg.%%d1$$&4 mmH%,,dWd;$r   c                6   ^ RI Hp V! R4      pV! RV34      pV P                  4       pV P                  4       p/ / .Vn        VP
                  P                  V4       V P                  V4      pWen        VP                  V3V4      pV P                  V. 4       R# rM  )r  r  r  r  r   r  rb   r   r   r  r   rT  s   &       r   +test__uncached_subscriptions_extendors_missBAdapterLookupBaseTests.test__uncached_subscriptions_extendors_miss  s    ;f%ftg.%%'$$&H4 mmH%,,dWd;$r   c                f   ^ RI Hp V! R4      pV! RV34      pV! R4      pV P                  W#4      pV P                  4       p\	        4       p/ W$RV///.Vn        VP                  P                  V4       V P                  V4      pWn	        VP                  V3V4      p	V P                  V	. 4       R# r\  r  r  r  r  r   r   r  rb   r   r   r  r   r_  s
   &         r   8test__uncached_subscriptions_components_miss_wrong_ifaceOAdapterLookupBaseTests.test__uncached_subscriptions_components_miss_wrong_iface  s    ;f%ftg.f%%%d1$$&X
2z*+,
 	4 mmH%,,dWd;$r   c                V   ^ RI Hp V! R4      pV! RV34      pV P                  W#4      pV P                  4       p\	        4       p/ W#RV///.Vn        VP                  P                  V4       V P                  V4      pWun	        VP                  V3V4      pV P                  V. 4       R# rd  r  rf  s	   &        r   7test__uncached_subscriptions_components_miss_wrong_nameNAdapterLookupBaseTests.test__uncached_subscriptions_components_miss_wrong_name  s    ;f%ftg.%%d1$$&H	;	234
 	4 mmH%,,dWd;$r   c                   ^ RI Hp V! R4      pV! RV34      pV P                  W#4      pV P                  4       p ! R R4      pV! 4       V! 4       r/ W#RWx3///.Vn        VP
                  P                  V4       V P                  V4      p	Wn        V	P                  V3V4      p
V P                  \        V
4      \        Wx.4      4       R# )r   r  r  r  c                   &   a  ] tR tRt o R tRtV tR# )KAdapterLookupBaseTests.test__uncached_subscriptions_simple_hit.<locals>.Fooi2  c                    R # )Tr	   rJ   s   &&r   __lt__RAdapterLookupBaseTests.test__uncached_subscriptions_simple_hit.<locals>.Foo.__lt__4  s    r   r	   N)r   r   r   r   r  r   rR   rS   s   @r   rx  r  2  s      r   rx  r   N)r  r  r  r  r   r  rb   r   r   r  r   r   )r5   r  r  r  r   rU  rx  _exp1_exp2r  rP  s   &          r   'test__uncached_subscriptions_simple_hit>AdapterLookupBaseTests.test__uncached_subscriptions_simple_hit+  s    ;f%ftg.%%d1$$&	 	
 uceu2~./0
 	4 mmH%,,dWd;)?@r   c                  a ^ RI Hp ^ RIHp V! R4      pV! RV34      pV! V4       ! R R4      4       pV! 4       pV P	                  W44      pV P	                  W44      pV P                  4       p/ oV3R lp	V3R lp
/ VR	R
W3///.Vn        VP                  P                  V4       V P                  V4      pVP                  Vn        Wn        VP                  V3R	4      pV P                  VR4       V P                  SRV.RV./4       R	# )r   rt  r  r  r  c                       ] tR tRtRtR# )@AdapterLookupBaseTests.test_subscribers_wo_provided.<locals>.FooiH  r	   Nr
   r	   r   r   rx  r  H  ry  r   rx  c                 J   < SP                  R . 4      P                  V 4       R# )r  N
setdefaultrb   r=  _calleds   &r   r  FAdapterLookupBaseTests.test_subscribers_wo_provided.<locals>._factory1R      {B/66w?r   c                 J   < SP                  R . 4      P                  V 4       R# )r  Nr  r  s   &r   r  FAdapterLookupBaseTests.test_subscribers_wo_provided.<locals>._factory2U  r  r   Nr   r  r  r	   )r|  ru  r  r  r  r  r   r  rb   r   r  r  r   subscribersr   )r5   ru  r  r  r  rx  r~  r   rU  r  r  r  rP  r  s   &            @r   test_subscribers_wo_provided3AdapterLookupBaseTests.test_subscribers_wo_providedB  s   ;;f%ftg.	T		 	 
	 e%%d1%%d1$$&	@	@ D2	5678
 	4 mmH%77#.$;{SE"JKr   c           	     d  aaa ^ RI Hp ^ RIHp V! R4      pV! RV34      pV! V4       ! R R4      4       pV! 4       pV P	                  W44      pV P	                  W44      pV P                  4       p/ o\        4       \        4       uooVV3R lp	VV3R lp
V3R	 lp/ W4R
WV3///.Vn        VP                  P                  V4       V P                  V4      pVP                  Vn        Wn        VP                  V3V4      pV P                  VSS.4       V P                  SRV.RV.RV./4       R# )r   rt  r  r  r  c                       ] tR tRtRtR# )?AdapterLookupBaseTests.test_subscribers_w_provided.<locals>.Fooij  r	   Nr
   r	   r   r   rx  r  j  ry  r   rx  c                 J   < SP                  R . 4      P                  V 4       S# )r  r  )r=  r  r  s   &r   r  EAdapterLookupBaseTests.test_subscribers_w_provided.<locals>._factory1u  #    {B/66w?Lr   c                 J   < SP                  R . 4      P                  V 4       S# )r  r  )r=  r  r  s   &r   r  EAdapterLookupBaseTests.test_subscribers_w_provided.<locals>._factory2y  r  r   c                 J   < SP                  R . 4      P                  V 4       R# )_side_effect_onlyNr  r  s   &r   r  MAdapterLookupBaseTests.test_subscribers_w_provided.<locals>._side_effect_only}  s    2B7>>wGr   r   r  r  r  N)r|  ru  r  r  r  r  r   r   r  rb   r   r  r  r   r  r   )r5   ru  r  r  r  rx  r~  r   rU  r  r  r  r  rP  r  r  r  s   &             @@@r   test_subscribers_w_provided2AdapterLookupBaseTests.test_subscribers_w_providedd  sC   ;;f%ftg.	T		 	 
	 e%%d1%%d1$$&xu			H 2	6GHIJK
 	4 mmH%77#.%0cUcU#cU	
r   r	   ),r   r   r   r   r   r   r  r  r  r  r&  r@  rD  rG  rJ  rQ  rV  rY  ra  rg  rm  rq  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   rR   r  r  s   @@r   r  r    s     !0"-
/+B/ / )"	5	''',',)"*&(2O,.>.B4	5
%%%$O$8&	5
%%%$%"A. LD,
 ,
r   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )VerifyingAdapterRegistryTestsi  c                    ^ RI Hp V# )r   )VerifyingAdapterRegistry)ro   r  )r5   r  s   & r   r   -VerifyingAdapterRegistryTests._getTargetClass  s    C''r   c                .    V P                  4       ! V/ VB # r1   r   )r5   r   kws   &*,r   r   &VerifyingAdapterRegistryTests._makeOne  s    ##%t2r22r   c                N    ^ RI Hp ^ RIHp V P	                  4       pV! W4       R# )r   )IAdapterRegistry)verifyObjectN)zope.interface.interfacesr  zope.interface.verifyr  r   )r5   r  r  r   s   &   r   ,test_verify_object_provides_IAdapterRegistryJVerifyingAdapterRegistryTests.test_verify_object_provides_IAdapterRegistry  s    >6==?%0r   r	   N)	r   r   r   r   r   r   r  r   rR   rS   s   @r   r  r    s     (31 1r   r  c                   J   a  ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )AdapterRegistryTestsi  c                    ^ RI Hp V# )r   )AdapterRegistry)ro   r  )r5   r  s   & r   r   $AdapterRegistryTests._getTargetClass  s    :r   c                p    V P                  4       pV P                  \        VP                  4      ^ 4       R# r   )r   r   rA   _v_subregistries)r5   ars   & r   test_ctor_no_bases'AdapterRegistryTests.test_ctor_no_bases  s(    ]]_R00115r   c                   V P                  4       pV P                  V.4      pV P                  \        VP                  4      ^ 4       V P                  \        VP                  4      ^4       V P	                  W!P                  4       R# r   )r   r   rA   r  r)  )r5   basesubs   &  r   test_ctor_w_bases&AdapterRegistryTests.test_ctor_w_bases  se    }}mmTF#S112A6T223Q7c001r   c                D   V P                  4       pV P                  4       pV P                  V.4      pV.Vn        V P                  \        VP                  4      ^ 4       V P                  \        VP                  4      ^4       V P                  W2P                  4       R# r   r   r   r   rA   r  r)  r5   beforeafterr  s   &   r   ,test__setBases_removing_existing_subregistryAAdapterRegistryTests.test__setBases_removing_existing_subregistry  sy    mmVH%V445q9U334a8c112r   c                   V P                  4       pV P                  4       pV P                  4       pV P                  V.4      pVP                  R ,          P                  V4       V.Vn        V P	                  \        VP                  4      ^ 4       V P	                  \        VP                  4      ^4       V P                  WCP                  4       R# )r   N)r   __dict__rb   r   r   rA   r  r)  )r5   r  strayr  r  s   &    r   test__setBases_wo_stray_entry2AdapterRegistryTests.test__setBases_wo_stray_entry  s    mmVH%[!((/V445q9U334a8c112r   c                z   V P                  4       pV P                  4       pV P                  V.4      pW.Vn        V P                  \        VP                  4      ^4       V P                  \        VP                  4      ^4       V P                  W1P                  4       V P                  W2P                  4       R# r   r  r  s   &   r   *test__setBases_w_existing_entry_continuing?AdapterRegistryTests.test__setBases_w_existing_entry_continuing  s    mmVH%V445q9U334a8c223c112r   c                >   V P                  4       p ! R  R4      pV! 4       V! 4       rCVP                  V4       VP                  V4       \        4       pVP                  V4       V P	                  VP
                  V4       V P	                  VP
                  V4       R# )c                   *   a  ] tR tRt o RtR tRtV tR# )BAdapterRegistryTests.test_changed_w_subregistries.<locals>.Derivedi  Nc                    Wn         R # r1   r{   )r5   originally_changeds   &&r   r~   JAdapterRegistryTests.test_changed_w_subregistries.<locals>.Derived.changed  s     2r   r{   )r   r   r   r   r|   r~   r   rR   rS   s   @r   r  r!    s     H3 3r   r  N)r   _addSubregistryr   r~   r   r|   )r5   r  r  derived1derived2r}   s   &     r   test_changed_w_subregistries1AdapterRegistryTests.test_changed_w_subregistries  s{    }}	3 	3 %Y	(X&X&xTh''.h''.r   r	   N)r   r   r   r   r   r	  r  r  r  r  r(  r   rR   rS   s   @r   r  r    s-     623	33/ /r   r  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	
Test_utilsi  c                N    ^ RI Hp ^ RIHp V P	                  V! R4      V4       R# )r   _convert_None_to_Interfacer   N)ro   r.  r  r   r   )r5   r.  r   s   &  r   &test__convert_None_to_Interface_w_None1Test_utils.test__convert_None_to_Interface_w_None  s    E606	Br   c                V    ^ RI Hp \        4       pV P                  V! V4      V4       R# )r   r-  N)ro   r.  r   r   )r5   r.  rK   s   &  r   'test__convert_None_to_Interface_w_other2Test_utils.test__convert_None_to_Interface_w_other  s     E07?r   c                    ^ RI Hp RpRpV! V4      pV P                  WC4       V P                  V\	        V4      4       R# )r   _normalize_names   strstrN)ro   r6  r   r   rI   )r5   r6  STRUNICODEnorms   &    r   test__normalize_name_str#Test_utils.test__normalize_name_str  s;    :s#'dDM2r   c                F    ^ RI Hp RpV P                  V! V4      V4       R# )r   r5  ustrN)ro   r6  r   )r5   r6  USTRs   &  r   test__normalize_name_unicode'Test_utils.test__normalize_name_unicode  s    :.5r   c                l    ^ RI Hp ^RR. / \        4       3 F  pV P                  \        W4       K  	  R# )r   r5  g      ?Nr	   )ro   r6  r   r   	TypeError)r5   r6  rK   s   &  r   test__normalize_name_other%Test_utils.test__normalize_name_other	  s.    :RR1Ei@ 2r   r	   N)r   r   r   r   r/  r2  r;  r@  rD  r   rR   rS   s   @r   r+  r+    s'     C
@
36A Ar   r+  )r  unittestr  r   r-   r/   rV   r_   re   rh   TestCaserj   r  r  r  r  r  r  r  r  r+  r	   r   r   <module>rH     s
    67H   <&& &(' (	 		] 	Mx00 M`0$*B 0$fy8h// y8x-+z3!2!2 z3z3.Q

X.. Q

h1H$5$5 1*@/8 @/FA"" Ar   