[Zope-Checkins] CVS: Zope3/lib/python/Zope/ComponentArchitecture/tests - testAPI.py:1.1.2.13

Steve Alexander steve@cat-box.net
Sun, 31 Mar 2002 14:53:10 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/ComponentArchitecture/tests
In directory cvs.zope.org:/tmp/cvs-serv1379

Modified Files:
      Tag: Zope-3x-branch
	testAPI.py 
Log Message:
Made the multiple adapter factories test more obvious, and added
explanatory comments.


=== Zope3/lib/python/Zope/ComponentArchitecture/tests/testAPI.py 1.1.2.12 => 1.1.2.13 ===
         from Zope.ComponentArchitecture.Exceptions import ComponentLookupError
 
+        # if an object implements the interface you want to adapt to,
+        # getAdapter should simply return the object
         self.assertEquals(getAdapter(ob, I1), ob)
+        
+        # if an adapter isn't registered for the given object and interface,
+        # and you provide no default, raise ComponentLookupError...
         self.assertRaises(ComponentLookupError, getAdapter, ob, I2)
+        
+        # ...otherwise, you get the default
         self.assertEquals(getAdapter(ob, I2, Test), Test)
         
         provideAdapter(I1, I2, Comp)
@@ -45,14 +52,18 @@
     def testMultipleAdapterFactories(self):
         from Zope.ComponentArchitecture import getAdapter, provideAdapter
 
-        provideAdapter(I1, I2, [Comp, Comp2])
+        # Basically, this represents a 2-stage adaptation. You can get
+        # from I1 to I2 by way of adapter Comp adapting Comp2
+        provideAdapter(I1, I2, [Comp2, Comp])
         c = getAdapter(ob, I2)
-        self.assertEquals(c.__class__, Comp2)
+        self.assertEquals(c.__class__, Comp)
         self.assertEquals(c.getContext().getContext(), ob)
 
     def testAdapterForInterfaceNone(self):
         from Zope.ComponentArchitecture import getAdapter, provideAdapter
-
+        
+        # providing an adapter for None says that your adapter can
+        # adapt anything to I2.
         provideAdapter(None, I2, Comp)
         c = getAdapter(ob, I2)
         self.assertEquals(c.__class__, Comp)