class documentation

Implement IService in a way that can fail.

In general, classes should maintain invariants that adhere to the interfaces that they claim to implement -- otherwise, it is a bug.

This is a buggy class -- the IService implementation is fragile, and several methods will break it. These bugs are intentional, as the tests trigger them -- and then check that the class, indeed, no longer complies with the interface (IService) that it claims to comply with.

Since the verification will, by definition, only fail on buggy classes -- in other words, those which do not actually support the interface they claim to support, we have to write a buggy class to properly verify the interface.

Method __init__ Undocumented
Method disownServiceParent See twisted.application.service.IService.
Method makeInvalidByDeletingName Probably not a wise method to call.
Method makeInvalidByDeletingParent Probably not a wise method to call.
Method makeInvalidByDeletingRunning Probably not a wise method to call.
Method privilegedStartService See twisted.application.service.IService.
Method setName See twisted.application.service.IService.
Method setServiceParent See twisted.application.service.IService.
Method startService See twisted.application.service.IService.
Method stopService See twisted.application.service.IService.
Instance Variable name A str which is the name of the service or None.
Instance Variable parent An IServiceCollection which is the parent or None.
Instance Variable running A boolean which indicates whether the service is running.
def __init__(self, name: str, parent: IServiceCollection, running: bool):

Undocumented

def makeInvalidByDeletingName(self):

Probably not a wise method to call.

This method removes the :code:`name` attribute, which has to exist in IService classes.

def makeInvalidByDeletingParent(self):

Probably not a wise method to call.

This method removes the :code:`parent` attribute, which has to exist in IService classes.

def makeInvalidByDeletingRunning(self):

Probably not a wise method to call.

This method removes the :code:`running` attribute, which has to exist in IService classes.

def setName(self, name: object):
def setServiceParent(self, parent: object):
name =

A str which is the name of the service or None.

parent =

An IServiceCollection which is the parent or None.

running =

A boolean which indicates whether the service is running.