'If the protocol objects returned by the factory given to
L{ClientService} provide special "marker" interfaces for their
transport - L{IHalfCloseableProtocol} or L{IFileDescriptorReceiver} -
those interfaces will be provided by the protocol objects passed on to
the reactor.'

def test_interfacesForTransport(self):

    @implementer(IHalfCloseableProtocol, IFileDescriptorReceiver)
    class FancyProtocol(Protocol, object, ):
        '\n                                                Provider    of    various    interfaces.\n                                                '
    (cq, service) = self.makeReconnector(protocolType=FancyProtocol)
    reactorFacing = cq.constructedProtocols[0]
    self.assertTrue(IFileDescriptorReceiver.providedBy(reactorFacing))
    self.assertTrue(IHalfCloseableProtocol.providedBy(reactorFacing))
