> On Behalf Of Russ > Once you have the conditions in place, all you need to do in > your unit tests is to send inputs to the unit and wait to see > if exceptions are thrown.
That sounds a little ambitious to me... However, you may want to look at the typecheck module (you can get it via easy_install). I think you could probably extend it to do DBC. http://oakwinter.com/code/typecheck/ >>> from typecheck import accepts, returns, Any >>> @accepts(str, int, Any()) @returns(list) def makelist(a, b, c): return [a, b, c] >>> makelist("spam", 42, object()) ['spam', 42, <object object at 0x00AE0470>] >>> makelist(42, "spam", 3.4) Traceback (most recent call last): File "<pyshell#25>", line 1, in <module> makelist(42, "spam", 3.4) File "C:\Python25\lib\site-packages\typecheck-0.3.5-py2.5.egg\typecheck\__init__. py", line 1340, in fake_function File "C:\Python25\lib\site-packages\typecheck-0.3.5-py2.5.egg\typecheck\__init__. py", line 1419, in __check_args TypeCheckError: Argument a: for 42, expected <type 'str'>, got <type 'int'> >>> I tried using DBC for a time in C++ (using a library with a clever assembly-language hack). I personally found it neater having such code in unit tests, but obviously, it's a matter of preference. Regards, Ryan Ginstrom -- http://mail.python.org/mailman/listinfo/python-list