[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