[Checkins] SVN: Record/trunk/ Rewrite tests as unit tests.
Hano Schlichting
cvs-admin at zope.org
Sat Aug 11 16:09:07 UTC 2012
Log message for revision 127489:
Rewrite tests as unit tests.
Changed:
U Record/trunk/CHANGES.txt
U Record/trunk/src/Record/__init__.py
U Record/trunk/src/Record/tests.py
-=-
Modified: Record/trunk/CHANGES.txt
===================================================================
--- Record/trunk/CHANGES.txt 2012-08-11 15:51:52 UTC (rev 127488)
+++ Record/trunk/CHANGES.txt 2012-08-11 16:09:04 UTC (rev 127489)
@@ -4,6 +4,7 @@
2.13.1 (unreleased)
-------------------
+- Rewrite tests as unit tests.
2.13.0 (2010-03-30)
-------------------
Modified: Record/trunk/src/Record/__init__.py
===================================================================
--- Record/trunk/src/Record/__init__.py 2012-08-11 15:51:52 UTC (rev 127488)
+++ Record/trunk/src/Record/__init__.py 2012-08-11 16:09:04 UTC (rev 127489)
@@ -18,42 +18,6 @@
They don't use instance dictionaries. Rather, they store they data in
a compact array internally. They use a record schema to map names to
positions within the array.
-
->>> class R(Record):
-... __record_schema__ = {'a': 0, 'b': 1, 'c': 2}
-
->>> r = R()
->>> r.__dict__
-Traceback (most recent call last):
-...
-AttributeError: __dict__
-
->>> r.a
->>> r.a = 1
->>> r.a
-1
->>> r.b
->>> r.c
-
-Records can be used as mapping objects:
-
->>> "%(a)s %(b)s %(c)s" % r
-'1 None None'
-
->>> r['a']
-1
-
->>> r['b'] = 42
-
-And like sequences:
-
->>> r[0]
-1
->>> r[1]
-42
->>> list(r)
-[1, 42, None]
-
-$Id: __init__.py,v 1.2 2003/11/28 16:46:36 jim Exp $
"""
+
from _Record import Record
Modified: Record/trunk/src/Record/tests.py
===================================================================
--- Record/trunk/src/Record/tests.py 2012-08-11 15:51:52 UTC (rev 127488)
+++ Record/trunk/src/Record/tests.py 2012-08-11 16:09:04 UTC (rev 127489)
@@ -11,40 +11,58 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""Record tests
-$Id: tests.py,v 1.2 2003/11/28 16:46:36 jim Exp $
-"""
+import pickle
+import unittest
from Record import Record
-import pickle
-class P(Record):
- __record_schema__ = {'a': 0, 'b': 1, 'c': 2}
-def test_RecordPickling():
- """
+class R(Record):
+ __record_schema__ = {'a': 0, 'b': 1, 'c': 2}
- We can create records from sequences:
-
- >>> r = P(('x', 42, 1.23))
- We can pickle them:
+class RecordTest(unittest.TestCase):
- >>> r2 = pickle.loads(pickle.dumps(r))
- >>> list(r) == list(r2)
- 1
- >>> r.__record_schema__ == r2.__record_schema__
- 1
- """
+ def test_pickling(self):
+ # We can create records from sequences
+ r = R(('x', 42, 1.23))
+ # We can pickle them
+ r2 = pickle.loads(pickle.dumps(r))
+ self.assertEqual(list(r), list(r2))
+ self.assertEqual(r.__record_schema__, r2.__record_schema__)
-import unittest
-from doctest import DocTestSuite
+ def test_no_dict(self):
+ r = R()
+ self.assertRaises(AttributeError, getattr, r, '__dict__')
-def test_suite():
- return unittest.TestSuite((
- DocTestSuite('Record'),
- DocTestSuite(),
- ))
+ def test_attribute(self):
+ r = R()
+ self.assertTrue(r.a is None)
+ self.assertTrue(r.b is None)
+ self.assertTrue(r.c is None)
+ r.a = 1
+ self.assertEqual(r.a, 1)
-if __name__ == '__main__': unittest.main()
+ def test_mapping(self):
+ r = R()
+ r.a = 1
+ self.assertEqual('%(a)s %(b)s %(c)s' % r, '1 None None')
+ self.assertEqual(r['a'], 1)
+ r['b'] = 42
+ self.assertEqual(r['b'], 42)
+ self.assertEqual(r.b, 42)
+
+ def test_sequence(self):
+ r = R()
+ r.a = 1
+ r.b = 42
+ self.assertEqual(r[0], 1)
+ self.assertEqual(r[1], 42)
+ r[1] = 6
+ self.assertEqual(r[1], 6)
+ self.assertEqual(r.b, 6)
+ r[2] = 7
+ self.assertEqual(r[2], 7)
+ self.assertEqual(r.c, 7)
+ self.assertEqual(list(r), [1, 6, 7])
More information about the checkins
mailing list