コード例 #1
0
 def test_reactorInterfaces(self):
     """
     Verify that IOCP socket-representing classes implement IReadWriteHandle
     """
     from reqs.twisted.internet.iocpreactor.interfaces import IReadWriteHandle
     from reqs.twisted.internet.iocpreactor import tcp, udp
     verifyClass(IReadWriteHandle, tcp.Connection)
     verifyClass(IReadWriteHandle, udp.Port)
コード例 #2
0
    def testNotImplemented(self):

        class C(object): pass

        class I(Interface): pass

        self.assertRaises(DoesNotImplement, verifyClass, I, C)

        classImplements(C, I)

        verifyClass(I, C)
コード例 #3
0
    def testMissingAttr(self):

        class I(Interface):
            def f(): pass

        class C(object):
            implements(I)

        self.assertRaises(BrokenImplementation, verifyClass, I, C)

        C.f=lambda self: None

        verifyClass(I, C)
コード例 #4
0
    def testMethodForAttr(self):
        
        class IFoo(Interface):
             foo = Attribute("The foo Attribute")


        class Foo:
             implements(IFoo)

             def foo(self):
                 pass

        verifyClass(IFoo, Foo)
コード例 #5
0
    def testWrongArgs(self):

        class I(Interface):
            def f(a): pass

        class C(object):
            def f(self, b): pass

            implements(I)

        # We no longer require names to match.
        #self.assertRaises(BrokenMethodImplementation, verifyClass, I, C)

        C.f=lambda self, a: None

        verifyClass(I, C)

        C.f=lambda self, **kw: None

        self.assertRaises(BrokenMethodImplementation, verifyClass, I, C)

        C.f=lambda self, a, *args: None

        verifyClass(I, C)

        C.f=lambda self, a, *args, **kw: None

        verifyClass(I, C)

        C.f=lambda self, *args: None

        verifyClass(I, C)
コード例 #6
0
    def testNoKW(self):

        class I(Interface):
            def f(a, **args): pass

        class C(object):
            def f(self, a): pass

            implements(I)

        self.assertRaises(BrokenMethodImplementation, verifyClass, I, C)

        C.f=lambda self, a, **foo: None

        verifyClass(I, C)
コード例 #7
0
 def testVerifyImplementation(self):
     from reqs.zope.interface.verify import verifyClass
     from reqs.zope.interface import Interface
     from reqs.zope.interface.tests.unitfixtures import Foo
     from reqs.zope.interface.tests.unitfixtures import FooInterface
     from reqs.zope.interface.tests.unitfixtures import I1
     self.assert_(verifyClass(FooInterface, Foo))
     self.assert_(Interface.providedBy(I1))
コード例 #8
0
 def testVerifyImplementation(self):
     from reqs.zope.interface.verify import verifyClass
     from reqs.zope.interface import Interface
     from reqs.zope.interface.tests.unitfixtures import Foo
     from reqs.zope.interface.tests.unitfixtures import FooInterface
     from reqs.zope.interface.tests.unitfixtures import I1
     self.assert_(verifyClass(FooInterface, Foo))
     self.assert_(Interface.providedBy(I1))
コード例 #9
0
 def test_interfaces(self):
     verifyObject(ITimeDelta, timedelta(minutes=20))
     verifyObject(IDate, date(2000, 1, 2))
     verifyObject(IDateTime, datetime(2000, 1, 2, 10, 20))
     verifyObject(ITime, time(20, 30, 15, 1234))
     verifyObject(ITZInfo, tzinfo())
     verifyClass(ITimeDeltaClass, timedelta)
     verifyClass(IDateClass, date)
     verifyClass(IDateTimeClass, datetime)
     verifyClass(ITimeClass, time)
コード例 #10
0
 def test_interfaces(self):
     verifyObject(ITimeDelta, timedelta(minutes=20))
     verifyObject(IDate, date(2000, 1, 2))
     verifyObject(IDateTime, datetime(2000, 1, 2, 10, 20))
     verifyObject(ITime, time(20, 30, 15, 1234))
     verifyObject(ITZInfo, tzinfo())
     verifyClass(ITimeDeltaClass, timedelta)
     verifyClass(IDateClass, date)
     verifyClass(IDateTimeClass, datetime)
     verifyClass(ITimeClass, time)
コード例 #11
0
    def testExtraArgs(self):

        class I(Interface):
            def f(a): pass

        class C(object):
            def f(self, a, b): pass

            implements(I)

        self.assertRaises(BrokenMethodImplementation, verifyClass, I, C)

        C.f=lambda self, a: None

        verifyClass(I, C)

        C.f=lambda self, a, b=None: None

        verifyClass(I, C)