#!/usr/bin/env python
#
# Unit tests for Widgets. Some of these tests intentionally fail.
#
# $Id: widgettests.py,v 1.8 2001/08/06 09:10:00 purcell Exp $
from widget import Widget
import unittest
class WidgetTestCase(unittest.TestCase):
def setUp(self):
self.widget = Widget("The widget")
def tearDown(self):
self.widget.dispose()
self.widget = None
def testDefaultSize(self):
assert self.widget.size() == (50,50), 'incorrect default size'
def testResize(self):
"""Resizing of widgets
Docstrings for test methods are used as the short description of the
test when it is run. Only the first line is printed.
"""
# This is how to check that an expected exception really *is* thrown:
self.assertRaises(ValueError, self.widget.resize, 0,0)
self.widget.resize(100,150)
assert self.widget.size() == (100,150), \
'wrong size after resize'
# Fancy way to build a suite
class WidgetTestSuite(unittest.TestSuite):
def __init__(self):
unittest.TestSuite.__init__(self,map(WidgetTestCase,
("testDefaultSize",
"testResize")))
# Simpler way
def makeWidgetTestSuite():
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase("testDefaultSize"))
suite.addTest(WidgetTestCase("testResize"))
return suite
def suite():
return unittest.makeSuite(WidgetTestCase)
# Make this test module runnable from the command prompt
if __name__ == "__main__":
#unittest.main(defaultTest="WidgetTestCase:testResize")
unittest.main()
|