'L{twisted.application.internet} dynamically defines a set of
L{service.Service} subclasses that in general have corresponding
reactor.listenXXX or reactor.connectXXX calls.'

def test_everythingThere(self):

    trans = 'TCP    UNIX    SSL    UDP    UNIXDatagram    Multicast'.split()
    for tran in trans[:]:
        if (not getattr(interfaces, ('IReactor' + tran))(reactor, None)):
            trans.remove(tran)
    for tran in trans:
        for side in 'Server    Client'.split():
            if ((tran == 'Multicast') and (side == 'Client')):
                continue
            if ((tran == 'UDP') and (side == 'Client')):
                continue
            self.assertTrue(hasattr(internet, (tran + side)))
            method = getattr(internet, (tran + side)).method
            prefix = {'Server': 'listen', 'Client': 'connect'}[side]
            self.assertTrue((hasattr(reactor, (prefix + method)) or ((prefix == 'connect') and (method == 'UDP'))))
            o = getattr(internet, (tran + side))()
            self.assertEqual(service.IService(o), o)
