Skip to content

Commit 2cefd24

Browse files
committed
TST: test cases for wide DataFrame repr
1 parent 325a73a commit 2cefd24

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed

pandas/tests/test_format.py

+88
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,94 @@ def test_wide_repr(self):
415415

416416
set_option('print.expand_frame_repr', False)
417417
set_option('test.interactive', False)
418+
set_option('print.line_width', 80)
419+
420+
def test_wide_repr_named(self):
421+
set_option('test.interactive', True)
422+
col = lambda l, k: [tm.rands(k) for _ in xrange(l)]
423+
df = DataFrame([col(20, 25) for _ in range(10)])
424+
df.index.name = 'DataFrame Index'
425+
rep_str = repr(df)
426+
set_option('print.expand_frame_repr', True)
427+
wide_repr = repr(df)
428+
self.assert_(rep_str != wide_repr)
429+
430+
set_option('print.line_width', 120)
431+
wider_repr = repr(df)
432+
self.assert_(len(wider_repr) < len(wide_repr))
433+
434+
for line in wide_repr.splitlines()[1::13]:
435+
self.assert_('DataFrame Index' in line)
436+
437+
set_option('print.expand_frame_repr', False)
438+
set_option('test.interactive', False)
439+
set_option('print.line_width', 80)
440+
441+
def test_wide_repr_multiindex(self):
442+
set_option('test.interactive', True)
443+
col = lambda l, k: [tm.rands(k) for _ in xrange(l)]
444+
midx = pandas.MultiIndex.from_arrays([np.array(col(10, 5)),
445+
np.array(col(10, 5))])
446+
df = DataFrame([col(20, 25) for _ in range(10)],
447+
index=midx)
448+
df.index.names = ['Level 0', 'Level 1']
449+
rep_str = repr(df)
450+
set_option('print.expand_frame_repr', True)
451+
wide_repr = repr(df)
452+
self.assert_(rep_str != wide_repr)
453+
454+
set_option('print.line_width', 120)
455+
wider_repr = repr(df)
456+
self.assert_(len(wider_repr) < len(wide_repr))
457+
458+
for line in wide_repr.splitlines()[1::13]:
459+
self.assert_('Level 0 Level 1' in line)
460+
461+
set_option('print.expand_frame_repr', False)
462+
set_option('test.interactive', False)
463+
set_option('print.line_width', 80)
464+
465+
def test_wide_repr_multiindex_cols(self):
466+
set_option('test.interactive', True)
467+
col = lambda l, k: [tm.rands(k) for _ in xrange(l)]
468+
midx = pandas.MultiIndex.from_arrays([np.array(col(10, 5)),
469+
np.array(col(10, 5))])
470+
mcols = pandas.MultiIndex.from_arrays([np.array(col(20, 3)),
471+
np.array(col(20, 3))])
472+
df = DataFrame([col(20, 25) for _ in range(10)],
473+
index=midx, columns=mcols)
474+
df.index.names = ['Level 0', 'Level 1']
475+
rep_str = repr(df)
476+
set_option('print.expand_frame_repr', True)
477+
wide_repr = repr(df)
478+
self.assert_(rep_str != wide_repr)
479+
480+
set_option('print.line_width', 120)
481+
wider_repr = repr(df)
482+
self.assert_(len(wider_repr) < len(wide_repr))
483+
484+
self.assert_(len(wide_repr.splitlines()) == 14 * 10 - 1)
485+
486+
set_option('print.expand_frame_repr', False)
487+
set_option('test.interactive', False)
488+
set_option('print.line_width', 80)
489+
490+
def test_wide_repr_unicode(self):
491+
set_option('test.interactive', True)
492+
col = lambda l, k: [tm.randu(k) for _ in xrange(l)]
493+
df = DataFrame([col(20, 25) for _ in range(10)])
494+
rep_str = repr(df)
495+
set_option('print.expand_frame_repr', True)
496+
wide_repr = repr(df)
497+
self.assert_(rep_str != wide_repr)
498+
499+
set_option('print.line_width', 120)
500+
wider_repr = repr(df)
501+
self.assert_(len(wider_repr) < len(wide_repr))
502+
503+
set_option('print.expand_frame_repr', False)
504+
set_option('test.interactive', False)
505+
set_option('print.line_width', 80)
418506

419507
def test_to_string(self):
420508
from pandas import read_table

0 commit comments

Comments
 (0)