[Checkins] SVN: Record/trunk/ Revert my recent changes

Hano Schlichting cvs-admin at zope.org
Sun Aug 12 09:48:51 UTC 2012


Log message for revision 127496:
  Revert my recent changes
  

Changed:
  U   Record/trunk/CHANGES.txt
  U   Record/trunk/setup.py
  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-12 09:42:18 UTC (rev 127495)
+++ Record/trunk/CHANGES.txt	2012-08-12 09:48:46 UTC (rev 127496)
@@ -4,7 +4,6 @@
 2.13.1 (unreleased)
 -------------------
 
-- Rewrite tests as unit tests.
 
 2.13.0 (2010-03-30)
 -------------------

Modified: Record/trunk/setup.py
===================================================================
--- Record/trunk/setup.py	2012-08-12 09:42:18 UTC (rev 127495)
+++ Record/trunk/setup.py	2012-08-12 09:48:46 UTC (rev 127496)
@@ -16,23 +16,24 @@
 from setuptools import setup, find_packages, Extension
 
 setup(name='Record',
-    version='2.13.1dev',
-    url='http://pypi.python.org/pypi/Record',
-    license='ZPL 2.1',
-    description="Special Record objects used in Zope2.",
-    author='Zope Foundation and Contributors',
-    author_email='zope-dev at zope.org',
-    long_description=open('README.txt').read() + '\n' +
-        open('CHANGES.txt').read(),
-    packages=find_packages('src'),
-    package_dir={'': 'src'},
-    ext_modules=[Extension(
-        name='Record._Record',
-        include_dirs=['include', 'src'],
-        sources=[join('src', 'Record', '_Record.c')],
-        depends=[join('include', 'ExtensionClass', 'ExtensionClass.h')]),
-    ],
-    install_requires=['ExtensionClass'],
-    include_package_data=True,
-    zip_safe=False,
-)
+      version = '2.13.1dev',
+      url='http://pypi.python.org/pypi/Record',
+      license='ZPL 2.1',
+      description="Special Record objects used in Zope2.",
+      author='Zope Foundation and Contributors',
+      author_email='zope-dev at zope.org',
+      long_description=open('README.txt').read() + '\n' +
+                       open('CHANGES.txt').read(),
+
+      packages=find_packages('src'),
+      package_dir={'': 'src'},
+      ext_modules=[Extension(
+            name='Record._Record',
+            include_dirs=['include', 'src'],
+            sources=[join('src', 'Record', '_Record.c')],
+            depends=[join('include', 'ExtensionClass', 'ExtensionClass.h')]),
+      ],
+      install_requires=['ExtensionClass'],
+      include_package_data=True,
+      zip_safe=False,
+      )

Modified: Record/trunk/src/Record/__init__.py
===================================================================
--- Record/trunk/src/Record/__init__.py	2012-08-12 09:42:18 UTC (rev 127495)
+++ Record/trunk/src/Record/__init__.py	2012-08-12 09:48:46 UTC (rev 127496)
@@ -18,6 +18,42 @@
 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-12 09:42:18 UTC (rev 127495)
+++ Record/trunk/src/Record/tests.py	2012-08-12 09:48:46 UTC (rev 127496)
@@ -11,58 +11,40 @@
 # FOR A PARTICULAR PURPOSE.
 #
 ##############################################################################
+"""Record tests
 
-import pickle
-import unittest
+$Id: tests.py,v 1.2 2003/11/28 16:46:36 jim Exp $
+"""
 
 from Record import Record
+import pickle
 
+class P(Record):
+     __record_schema__ = {'a': 0, 'b': 1, 'c': 2}
 
-class R(Record):
-    __record_schema__ = {'a': 0, 'b': 1, 'c': 2}
+def test_RecordPickling():
+    """
 
+    We can create records from sequences:
+    
+    >>> r = P(('x', 42, 1.23))
 
-class RecordTest(unittest.TestCase):
+    We can pickle them:
 
-    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__)
+    >>> r2 = pickle.loads(pickle.dumps(r))
+    >>> list(r) == list(r2)
+    1
+    >>> r.__record_schema__ == r2.__record_schema__
+    1
+    """
 
-    def test_no_dict(self):
-        r = R()
-        self.assertRaises(AttributeError, getattr, r, '__dict__')
+import unittest
+from doctest import 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)
+def test_suite():
+    return unittest.TestSuite((
+        DocTestSuite('Record'),
+        DocTestSuite(),
+        ))
 
-    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])
+if __name__ == '__main__': unittest.main()



More information about the checkins mailing list