[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