22
33import numpy
44
5- from devtools .prettier import PrettyFormat , pformat
5+ from devtools .prettier import PrettyFormat , pformat , pprint
66
77
88def test_dict ():
@@ -15,6 +15,13 @@ def test_dict():
1515 '}' )
1616
1717
18+ def test_print (capsys ):
19+ pprint ({1 : 2 , 3 : 4 })
20+ stdout , stderr = capsys .readouterr ()
21+ assert stdout .startswith ('\x1b ' )
22+ assert stderr == ''
23+
24+
1825def test_list ():
1926 v = pformat (list (range (6 )))
2027 assert v == (
@@ -29,18 +36,29 @@ def test_list():
2936
3037
3138def test_set ():
32- v = pformat (set (range (6 )))
39+ v = pformat (set (range (5 )))
3340 assert v == (
3441 '{\n '
3542 ' 0,\n '
3643 ' 1,\n '
3744 ' 2,\n '
3845 ' 3,\n '
3946 ' 4,\n '
40- ' 5,\n '
4147 '}' )
4248
4349
50+ def test_tuple ():
51+ v = pformat (tuple (range (5 )))
52+ assert v == (
53+ '(\n '
54+ ' 0,\n '
55+ ' 1,\n '
56+ ' 2,\n '
57+ ' 3,\n '
58+ ' 4,\n '
59+ ')' )
60+
61+
4462def test_generator ():
4563 v = pformat ((i for i in range (3 )))
4664 assert v == (
@@ -51,6 +69,12 @@ def test_generator():
5169 ')' )
5270
5371
72+ def test_generator_no_yield ():
73+ pformat_ = PrettyFormat (yield_from_generators = False )
74+ v = pformat_ ((i for i in range (3 )))
75+ assert v .startswith ('<generator object test_generator_no_yield.<locals>.<genexpr> at ' )
76+
77+
5478def test_str ():
5579 pformat_ = PrettyFormat (max_width = 12 )
5680 v = pformat_ (string .ascii_lowercase + '\n ' + string .digits )
@@ -61,25 +85,41 @@ def test_str():
6185 ")" )
6286
6387
88+ def test_str_repr ():
89+ pformat_ = PrettyFormat (repr_strings = True )
90+ v = pformat_ (string .ascii_lowercase + '\n ' + string .digits )
91+ assert v == "'abcdefghijklmnopqrstuvwxyz\\ n0123456789'"
92+
93+
6494def test_bytes ():
6595 pformat_ = PrettyFormat (max_width = 12 )
6696 v = pformat_ (string .ascii_lowercase .encode ())
67- assert v == (
68- "(\n "
69- " b'abcde'\n "
70- " b'fghij'\n "
71- " b'klmno'\n "
72- " b'pqrst'\n "
73- " b'uvwxy'\n "
74- " b'z'\n "
75- ")" )
97+ assert v == """(
98+ b'abcde'
99+ b'fghij'
100+ b'klmno'
101+ b'pqrst'
102+ b'uvwxy'
103+ b'z'
104+ )"""
105+
106+
107+ def test_short_bytes ():
108+ assert "b'abcdefghijklmnopqrstuvwxyz'" == pformat (string .ascii_lowercase .encode ())
76109
77110
78111def test_indent_numpy ():
79112 v = pformat ({'numpy test' : numpy .array (range (20 ))})
80- assert v == ("{\n "
81- " 'numpy test': (\n "
82- " array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,\n "
83- " 17, 18, 19])\n "
84- " ),\n "
85- "}" )
113+ assert v == """{
114+ 'numpy test': (
115+ array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
116+ 17, 18, 19])
117+ ),
118+ }"""
119+
120+
121+ def test_indent_numpy_short ():
122+ v = pformat ({'numpy test' : numpy .array (range (10 ))})
123+ assert v == """{
124+ 'numpy test': array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),
125+ }"""
0 commit comments