[Checkins] SVN: zope.interface/branches/tseaver-better_unittests/ 100% coverage for zope.interface.exceptions.
Tres Seaver
tseaver at palladion.com
Wed Apr 28 12:40:48 EDT 2010
Log message for revision 111551:
100% coverage for zope.interface.exceptions.
Changed:
A zope.interface/branches/tseaver-better_unittests/
A zope.interface/branches/tseaver-better_unittests/src/zope/interface/tests/test_exceptions.py
-=-
Added: zope.interface/branches/tseaver-better_unittests/src/zope/interface/tests/test_exceptions.py
===================================================================
--- zope.interface/branches/tseaver-better_unittests/src/zope/interface/tests/test_exceptions.py (rev 0)
+++ zope.interface/branches/tseaver-better_unittests/src/zope/interface/tests/test_exceptions.py 2010-04-28 16:40:47 UTC (rev 111551)
@@ -0,0 +1,75 @@
+##############################################################################
+#
+# Copyright (c) 2010 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" zope.interface.exceptions unit tests
+"""
+import unittest
+
+def _makeIface():
+ from zope.interface import Interface
+ class IDummy(Interface):
+ pass
+ return IDummy
+
+class DoesNotImplementTests(unittest.TestCase):
+
+ def _getTargetClass(self):
+ from zope.interface.exceptions import DoesNotImplement
+ return DoesNotImplement
+
+ def _makeOne(self, iface=None):
+ if iface is None:
+ iface = _makeIface()
+ return self._getTargetClass()(iface)
+
+ def test___str__(self):
+ dni = self._makeOne()
+ # XXX The trailing newlines and blank spaces are a stupid artifact.
+ self.assertEqual(str(dni),
+ 'An object does not implement interface <InterfaceClass '
+ 'zope.interface.tests.test_exceptions.IDummy>\n\n ')
+
+class BrokenImplementationTests(unittest.TestCase):
+
+ def _getTargetClass(self):
+ from zope.interface.exceptions import BrokenImplementation
+ return BrokenImplementation
+
+ def _makeOne(self, iface=None, name='missing'):
+ if iface is None:
+ iface = _makeIface()
+ return self._getTargetClass()(iface, name)
+
+ def test___str__(self):
+ dni = self._makeOne()
+ # XXX The trailing newlines and blank spaces are a stupid artifact.
+ self.assertEqual(str(dni),
+ 'An object has failed to implement interface <InterfaceClass '
+ 'zope.interface.tests.test_exceptions.IDummy>\n\n'
+ ' The missing attribute was not provided.\n ')
+
+class BrokenMethodImplementationTests(unittest.TestCase):
+
+ def _getTargetClass(self):
+ from zope.interface.exceptions import BrokenMethodImplementation
+ return BrokenMethodImplementation
+
+ def _makeOne(self, method='aMethod', mess='I said so'):
+ return self._getTargetClass()(method, mess)
+
+ def test___str__(self):
+ dni = self._makeOne()
+ self.assertEqual(str(dni),
+ 'The implementation of aMethod violates its contract\n'
+ ' because I said so.\n ')
+
More information about the checkins
mailing list