[Python-checkins] r59560 - python/trunk/Lib/test/test_dict.py

raymond.hettinger python-checkins at python.org
Wed Dec 19 01:21:06 CET 2007


Author: raymond.hettinger
Date: Wed Dec 19 01:21:06 2007
New Revision: 59560

Modified:
   python/trunk/Lib/test/test_dict.py
Log:
Beef-up tests for dict literals

Modified: python/trunk/Lib/test/test_dict.py
==============================================================================
--- python/trunk/Lib/test/test_dict.py	(original)
+++ python/trunk/Lib/test/test_dict.py	Wed Dec 19 01:21:06 2007
@@ -1,7 +1,7 @@
 import unittest
 from test import test_support
 
-import sys, UserDict, cStringIO
+import sys, UserDict, cStringIO, random, string
 
 
 class DictTest(unittest.TestCase):
@@ -10,6 +10,15 @@
         self.assertEqual(dict(), {})
         self.assert_(dict() is not {})
 
+    def test_literal_constructor(self):
+        # check literal constructor for different sized dicts (to exercise the BUILD_MAP oparg
+        items = []
+        for n in range(400):
+            dictliteral = '{' + ', '.join('%r: %d' % item for item in items) + '}'
+            self.assertEqual(eval(dictliteral), dict(items))
+            items.append((''.join([random.choice(string.letters) for j in range(8)]), n))
+            random.shuffle(items)
+
     def test_bool(self):
         self.assert_(not {})
         self.assert_({1: 2})


More information about the Python-checkins mailing list