[Python-checkins] r60264 - in python/trunk/Lib: pprint.py test/test_pprint.py

raymond.hettinger python-checkins at python.org
Thu Jan 24 22:47:56 CET 2008


Author: raymond.hettinger
Date: Thu Jan 24 22:47:56 2008
New Revision: 60264

Modified:
   python/trunk/Lib/pprint.py
   python/trunk/Lib/test/test_pprint.py
Log:
Shorter pprint's for empty sets and frozensets.  Fix indentation of frozensets.  Add tests including two complex data structures.

Modified: python/trunk/Lib/pprint.py
==============================================================================
--- python/trunk/Lib/pprint.py	(original)
+++ python/trunk/Lib/pprint.py	Thu Jan 24 22:47:56 2008
@@ -167,25 +167,31 @@
             (issubclass(typ, set) and r is set.__repr__) or
             (issubclass(typ, frozenset) and r is frozenset.__repr__)
            ):
+            length = _len(object)
             if issubclass(typ, list):
                 write('[')
                 endchar = ']'
             elif issubclass(typ, set):
+                if not length:
+                    write('set()')
+                    return
                 write('set([')
                 endchar = '])'
                 object = sorted(object)
                 indent += 4
             elif issubclass(typ, frozenset):
+                if not length:
+                    write('frozenset()')
+                    return
                 write('frozenset([')
                 endchar = '])'
                 object = sorted(object)
-                indent += 9
+                indent += 10
             else:
                 write('(')
                 endchar = ')'
             if self._indent_per_level > 1:
                 write((self._indent_per_level - 1) * ' ')
-            length = _len(object)
             if length:
                 context[objid] = 1
                 indent = indent + self._indent_per_level

Modified: python/trunk/Lib/test/test_pprint.py
==============================================================================
--- python/trunk/Lib/test/test_pprint.py	(original)
+++ python/trunk/Lib/test/test_pprint.py	Thu Jan 24 22:47:56 2008
@@ -1,6 +1,7 @@
 import pprint
 import test.test_support
 import unittest
+import test.test_set
 
 try:
     uni = unicode
@@ -195,6 +196,197 @@
  others.should.not.be: like.this}"""
         self.assertEqual(DottedPrettyPrinter().pformat(o), exp)
 
+    def test_set_reprs(self):
+        self.assertEqual(pprint.pformat(set()), 'set()')
+        self.assertEqual(pprint.pformat(set(range(3))), 'set([0, 1, 2])')
+        self.assertEqual(pprint.pformat(frozenset()), 'frozenset()')
+        self.assertEqual(pprint.pformat(frozenset(range(3))), 'frozenset([0, 1, 2])')
+        cube_repr_tgt = """\
+{frozenset([]): frozenset([frozenset([2]), frozenset([0]), frozenset([1])]),
+ frozenset([0]): frozenset([frozenset(),
+                            frozenset([0, 2]),
+                            frozenset([0, 1])]),
+ frozenset([1]): frozenset([frozenset(),
+                            frozenset([1, 2]),
+                            frozenset([0, 1])]),
+ frozenset([2]): frozenset([frozenset(),
+                            frozenset([1, 2]),
+                            frozenset([0, 2])]),
+ frozenset([1, 2]): frozenset([frozenset([2]),
+                               frozenset([1]),
+                               frozenset([0, 1, 2])]),
+ frozenset([0, 2]): frozenset([frozenset([2]),
+                               frozenset([0]),
+                               frozenset([0, 1, 2])]),
+ frozenset([0, 1]): frozenset([frozenset([0]),
+                               frozenset([1]),
+                               frozenset([0, 1, 2])]),
+ frozenset([0, 1, 2]): frozenset([frozenset([1, 2]),
+                                  frozenset([0, 2]),
+                                  frozenset([0, 1])])}"""
+        cube = test.test_set.cube(3)
+        self.assertEqual(pprint.pformat(cube), cube_repr_tgt)
+        cubo_repr_tgt = """\
+{frozenset([frozenset([0, 2]), frozenset([0])]): frozenset([frozenset([frozenset([0,
+                                                                                  2]),
+                                                                       frozenset([0,
+                                                                                  1,
+                                                                                  2])]),
+                                                            frozenset([frozenset([0]),
+                                                                       frozenset([0,
+                                                                                  1])]),
+                                                            frozenset([frozenset(),
+                                                                       frozenset([0])]),
+                                                            frozenset([frozenset([2]),
+                                                                       frozenset([0,
+                                                                                  2])])]),
+ frozenset([frozenset([0, 1]), frozenset([1])]): frozenset([frozenset([frozenset([0,
+                                                                                  1]),
+                                                                       frozenset([0,
+                                                                                  1,
+                                                                                  2])]),
+                                                            frozenset([frozenset([0]),
+                                                                       frozenset([0,
+                                                                                  1])]),
+                                                            frozenset([frozenset([1]),
+                                                                       frozenset([1,
+                                                                                  2])]),
+                                                            frozenset([frozenset(),
+                                                                       frozenset([1])])]),
+ frozenset([frozenset([1, 2]), frozenset([1])]): frozenset([frozenset([frozenset([1,
+                                                                                  2]),
+                                                                       frozenset([0,
+                                                                                  1,
+                                                                                  2])]),
+                                                            frozenset([frozenset([2]),
+                                                                       frozenset([1,
+                                                                                  2])]),
+                                                            frozenset([frozenset(),
+                                                                       frozenset([1])]),
+                                                            frozenset([frozenset([1]),
+                                                                       frozenset([0,
+                                                                                  1])])]),
+ frozenset([frozenset([1, 2]), frozenset([2])]): frozenset([frozenset([frozenset([1,
+                                                                                  2]),
+                                                                       frozenset([0,
+                                                                                  1,
+                                                                                  2])]),
+                                                            frozenset([frozenset([1]),
+                                                                       frozenset([1,
+                                                                                  2])]),
+                                                            frozenset([frozenset([2]),
+                                                                       frozenset([0,
+                                                                                  2])]),
+                                                            frozenset([frozenset(),
+                                                                       frozenset([2])])]),
+ frozenset([frozenset([]), frozenset([0])]): frozenset([frozenset([frozenset([0]),
+                                                                   frozenset([0,
+                                                                              1])]),
+                                                        frozenset([frozenset([0]),
+                                                                   frozenset([0,
+                                                                              2])]),
+                                                        frozenset([frozenset(),
+                                                                   frozenset([1])]),
+                                                        frozenset([frozenset(),
+                                                                   frozenset([2])])]),
+ frozenset([frozenset([]), frozenset([1])]): frozenset([frozenset([frozenset(),
+                                                                   frozenset([0])]),
+                                                        frozenset([frozenset([1]),
+                                                                   frozenset([1,
+                                                                              2])]),
+                                                        frozenset([frozenset(),
+                                                                   frozenset([2])]),
+                                                        frozenset([frozenset([1]),
+                                                                   frozenset([0,
+                                                                              1])])]),
+ frozenset([frozenset([2]), frozenset([])]): frozenset([frozenset([frozenset([2]),
+                                                                   frozenset([1,
+                                                                              2])]),
+                                                        frozenset([frozenset(),
+                                                                   frozenset([0])]),
+                                                        frozenset([frozenset(),
+                                                                   frozenset([1])]),
+                                                        frozenset([frozenset([2]),
+                                                                   frozenset([0,
+                                                                              2])])]),
+ frozenset([frozenset([0, 1, 2]), frozenset([0, 1])]): frozenset([frozenset([frozenset([1,
+                                                                                        2]),
+                                                                             frozenset([0,
+                                                                                        1,
+                                                                                        2])]),
+                                                                  frozenset([frozenset([0,
+                                                                                        2]),
+                                                                             frozenset([0,
+                                                                                        1,
+                                                                                        2])]),
+                                                                  frozenset([frozenset([0]),
+                                                                             frozenset([0,
+                                                                                        1])]),
+                                                                  frozenset([frozenset([1]),
+                                                                             frozenset([0,
+                                                                                        1])])]),
+ frozenset([frozenset([0]), frozenset([0, 1])]): frozenset([frozenset([frozenset(),
+                                                                       frozenset([0])]),
+                                                            frozenset([frozenset([0,
+                                                                                  1]),
+                                                                       frozenset([0,
+                                                                                  1,
+                                                                                  2])]),
+                                                            frozenset([frozenset([0]),
+                                                                       frozenset([0,
+                                                                                  2])]),
+                                                            frozenset([frozenset([1]),
+                                                                       frozenset([0,
+                                                                                  1])])]),
+ frozenset([frozenset([2]), frozenset([0, 2])]): frozenset([frozenset([frozenset([0,
+                                                                                  2]),
+                                                                       frozenset([0,
+                                                                                  1,
+                                                                                  2])]),
+                                                            frozenset([frozenset([2]),
+                                                                       frozenset([1,
+                                                                                  2])]),
+                                                            frozenset([frozenset([0]),
+                                                                       frozenset([0,
+                                                                                  2])]),
+                                                            frozenset([frozenset(),
+                                                                       frozenset([2])])]),
+ frozenset([frozenset([0, 1, 2]), frozenset([0, 2])]): frozenset([frozenset([frozenset([1,
+                                                                                        2]),
+                                                                             frozenset([0,
+                                                                                        1,
+                                                                                        2])]),
+                                                                  frozenset([frozenset([0,
+                                                                                        1]),
+                                                                             frozenset([0,
+                                                                                        1,
+                                                                                        2])]),
+                                                                  frozenset([frozenset([0]),
+                                                                             frozenset([0,
+                                                                                        2])]),
+                                                                  frozenset([frozenset([2]),
+                                                                             frozenset([0,
+                                                                                        2])])]),
+ frozenset([frozenset([1, 2]), frozenset([0, 1, 2])]): frozenset([frozenset([frozenset([0,
+                                                                                        2]),
+                                                                             frozenset([0,
+                                                                                        1,
+                                                                                        2])]),
+                                                                  frozenset([frozenset([0,
+                                                                                        1]),
+                                                                             frozenset([0,
+                                                                                        1,
+                                                                                        2])]),
+                                                                  frozenset([frozenset([2]),
+                                                                             frozenset([1,
+                                                                                        2])]),
+                                                                  frozenset([frozenset([1]),
+                                                                             frozenset([1,
+                                                                                        2])])])}"""
+
+        cubo = test.test_set.linegraph(cube)
+        self.assertEqual(pprint.pformat(cubo), cubo_repr_tgt)
+
 
 class DottedPrettyPrinter(pprint.PrettyPrinter):
 


More information about the Python-checkins mailing list