Does Class implements Interface?
Zvezdan Petkovic
zvezdan at zope.com
Fri Aug 28 09:12:29 EDT 2009
On Aug 27, 2009, at 9:16 AM, Emanuele D'Arrigo wrote:
> Are there resources such as tools, recipes, documents or strategies
> that could help me deal with these issues? I've already looked into
> the ABC module and the zope.interface. I'm just fishing for more
> things to look at.
You say above that you looked at zope.interface.
Did you look at zope.interface.verify?
Specifically, verify.txt doctests state that:
"An object provides an interface if
- either its class declares that it implements the interfaces,
or the object declares that it directly provides the interface
- the object defines all the methods required by the interface
- all the methods have the correct signature
- the object defines all non-method attributes required by the
interface"
zope.interface.verify.verifyObject(I, obj) will check all of the above.
Similarly, zope.interface.verify.verifyClass(I, C) will check the class.
It is a good practice to call these functions in the regression tests.
If this is not what you are looking for, sorry for the noise.
Zvezdan
More information about the Python-list
mailing list