[Zope-Checkins] CVS: Zope3/lib/python/Interface/tests - testImplements.py:1.1.2.3 testInterface.py:1.1.4.2 testVerify.py:1.1.2.3 testVisitImplements.py:1.1.2.2 unitfixtures.py:1.1.4.3

Jim Fulton jim@zope.com
Tue, 5 Mar 2002 16:43:18 -0500


Update of /cvs-repository/Zope3/lib/python/Interface/tests
In directory cvs.zope.org:/tmp/cvs-serv2132/Interface/tests

Modified Files:
      Tag: Zope-3x-branch
	testImplements.py testInterface.py testVerify.py 
	testVisitImplements.py unitfixtures.py 
Log Message:
Hold on to your butts!

Major refactoring of Interface package to clean up the interfaces and
module structure.

Note especially, to verify interface implementstions,
use verifyObject or verifyClass from the Interface.Verify module:

from Interface.Verify import verifyClass

verifyClass(ISomeInterface, SomeClass)



=== Zope3/lib/python/Interface/tests/testImplements.py 1.1.2.2 => 1.1.2.3 ===
-from Interface import Interface, implements
+from Interface import Interface
+from Interface.Implements import implements
 from Interface.Exceptions import DoesNotImplement, BrokenImplementation
 from Interface.Exceptions import BrokenMethodImplementation
 


=== Zope3/lib/python/Interface/tests/testInterface.py 1.1.4.1 => 1.1.4.2 ===
 import Interface
 from unitfixtures import *  # hehehe
+from Interface.Exceptions import BrokenImplementation
+from Interface.Implements import instancesOfObjectImplements
+from Interface.Implements import objectImplements
 
 class InterfaceTests(unittest.TestCase):
 
@@ -27,14 +30,14 @@
         assert not I2.isImplementedByInstancesOf(E)
 
     def testUtil(self):
-        f = Interface.instancesOfObjectImplements
+        f = instancesOfObjectImplements
         assert IC in f(C)
         assert I1 in f(A)
         assert not I1 in f(C)
         assert I2 in f(B)
         assert not I2 in f(C)
 
-        f = Interface.objectImplements
+        f = objectImplements
         assert IC in f(C())
         assert I1 in f(A())
         assert not I1 in f(C())
@@ -59,7 +62,7 @@
 
     def testDeferredClass(self):
         a = A()
-        self.assertRaises(Interface.BrokenImplementation, a.ma)
+        self.assertRaises(BrokenImplementation, a.ma)
 
 
     def testInterfaceExtendsInterface(self):
@@ -72,8 +75,9 @@
         assert not BarInterface.extends(BazInterface)
 
     def testVerifyImplementation(self):
-        assert Interface.verify_class_implementation(FooInterface, Foo)
-        assert Interface.InterfaceInterface.isImplementedBy(I1)
+        from Interface.Verify import verifyClass
+        assert verifyClass(FooInterface, Foo)
+        assert Interface.isImplementedBy(I1)
     
 
 def test_suite():


=== Zope3/lib/python/Interface/tests/testVerify.py 1.1.2.2 => 1.1.2.3 ===
+#
+# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
+# All Rights Reserved.
+# 
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE
+# 
+##############################################################################
+"""
+
+Revision information:
+$Id$
+"""
+
 
 from Interface import Interface
-from Interface.verify import verify
+from Interface.Verify import verifyClass, verifyObject
 from Interface.Exceptions import DoesNotImplement, BrokenImplementation
 from Interface.Exceptions import BrokenMethodImplementation
 
@@ -14,11 +33,11 @@
 
         class I(Interface): pass
 
-        self.assertRaises(DoesNotImplement, verify, I, C)
+        self.assertRaises(DoesNotImplement, verifyClass, I, C)
 
         C.__implements__=I
 
-        verify(I, C)
+        verifyClass(I, C)
 
     def testMissingAttr(self):
 
@@ -29,11 +48,11 @@
 
             __implements__=I
 
-        self.assertRaises(BrokenImplementation, verify, I, C)
+        self.assertRaises(BrokenImplementation, verifyClass, I, C)
 
         C.f=lambda self: None
 
-        verify(I, C)
+        verifyClass(I, C)
 
     def testWrongArgs(self):
 
@@ -46,15 +65,16 @@
 
             __implements__=I
 
-        self.assertRaises(BrokenMethodImplementation, verify, I, C)
+        # We no longer require names to match.
+        #self.assertRaises(BrokenMethodImplementation, verifyClass, I, C)
 
         C.f=lambda self, a: None
 
-        verify(I, C)
+        verifyClass(I, C)
 
         C.f=lambda self, **kw: None
 
-        verify(I, C)
+        verifyClass(I, C)
 
     def testExtraArgs(self):
 
@@ -67,15 +87,15 @@
 
             __implements__=I
 
-        self.assertRaises(BrokenMethodImplementation, verify, I, C)
+        self.assertRaises(BrokenMethodImplementation, verifyClass, I, C)
 
         C.f=lambda self, a: None
 
-        verify(I, C)
+        verifyClass(I, C)
 
         C.f=lambda self, a, b=None: None
 
-        verify(I, C)
+        verifyClass(I, C)
 
     def testNoVar(self):
 
@@ -88,11 +108,11 @@
 
             __implements__=I
 
-        self.assertRaises(BrokenMethodImplementation, verify, I, C)
+        self.assertRaises(BrokenMethodImplementation, verifyClass, I, C)
 
         C.f=lambda self, a, *foo: None
 
-        verify(I, C)
+        verifyClass(I, C)
 
     def testNoKW(self):
 
@@ -105,18 +125,18 @@
 
             __implements__=I
 
-        self.assertRaises(BrokenMethodImplementation, verify, I, C)
+        self.assertRaises(BrokenMethodImplementation, verifyClass, I, C)
 
         C.f=lambda self, a, **foo: None
 
-        verify(I, C)
+        verifyClass(I, C)
 
-    def testModule( self ):
+    def testModule(self):
 
         from Interface.tests.IFoo import IFoo
         from Interface.tests import dummy
 
-        verify( IFoo, dummy )
+        verifyObject(IFoo, dummy)
         
 
 


=== Zope3/lib/python/Interface/tests/testVisitImplements.py 1.1.2.1 => 1.1.2.2 ===
 import unittest, sys
 
-from Interface.iclass import visitImplements
+from Interface.Implements import visitImplements
 from Interface import Interface
 from Interface.Exceptions import BadImplements
 


=== Zope3/lib/python/Interface/tests/unitfixtures.py 1.1.4.2 => 1.1.4.3 ===
+from Interface.Attribute import Attribute
 
-import Interface
-
-class mytest(Interface.Base):
+class mytest(Interface):
     pass
 
 class C:
@@ -15,19 +15,30 @@
 
 # testInstancesOfClassImplements
 
-IC=Interface.impliedInterface(C)
+
+
+
+#  YAGNI IC=Interface.impliedInterface(C)
+class IC(Interface):
+    def m1(a, b):
+        "return 1"
+
+    def m2(a, b):
+        "return 2"
+    
+
 
 C.__implements__=IC
 
-class I1(Interface.Base):
+class I1(Interface):
     def ma():
         "blah"
 
 class I2(I1): pass
 
-class I3(Interface.Base): pass
+class I3(Interface): pass
 
-class I4(Interface.Base): pass
+class I4(Interface): pass
 
 class A(I1.deferred()):
     __implements__=I1
@@ -41,10 +52,10 @@
     __implements__ = A.__implements__, C.__implements__
 
 
-class FooInterface(Interface.Base):
+class FooInterface(Interface):
     """ This is an Abstract Base Class """
 
-    foobar = Interface.Attribute("fuzzed over beyond all recognition")
+    foobar = Attribute("fuzzed over beyond all recognition")
 
     def aMethod(foo, bar, bingo):
         """ This is aMethod """
@@ -86,7 +97,8 @@
 class Blah:
     pass
 
-FunInterface = Interface.new('FunInterface')
-BarInterface = Interface.new('BarInterface', [FunInterface])
-BobInterface = Interface.new('BobInterface')
-BazInterface = Interface.new('BazInterface', [BobInterface, BarInterface])
+new = Interface.__class__
+FunInterface = new('FunInterface')
+BarInterface = new('BarInterface', [FunInterface])
+BobInterface = new('BobInterface')
+BazInterface = new('BazInterface', [BobInterface, BarInterface])