##// END OF EJS Templates
Merge pull request #892 from minrk/show...
Merge pull request #892 from minrk/show Allow users to configure whether the inline backend closes figures immediately or not. By default, the inline backend closes all rendered figures, which means that calls like gcf() return no output, but it enables users to create new plots each time without having to call figure() manually. This enables users to configure the inline backend to *not* close on render, behaving more like interactive backends (but requiring manual figure() calls to create new figures).

File last commit:

r3350:a41b73bf
r5123:d2b3a0c6 merge
Show More
test_formatters.py
74 lines | 1.8 KiB | text/x-python | PythonLexer
/ IPython / core / tests / test_formatters.py
Robert Kern
ENH: Implement and test the default pretty formatter.
r3209 """Tests for the Formatters.
"""
MinRK
add `float_precision` trait to PlainTextFormatter...
r3350 from math import pi
try:
import numpy
except:
numpy = None
Robert Kern
ENH: Implement and test the default pretty formatter.
r3209 import nose.tools as nt
MinRK
add `float_precision` trait to PlainTextFormatter...
r3350 from IPython.core.formatters import FormatterABC, PlainTextFormatter
Robert Kern
ENH: Implement and test the default pretty formatter.
r3209
class A(object):
def __repr__(self):
return 'A()'
class B(A):
def __repr__(self):
return 'B()'
def foo_printer(obj, pp, cycle):
pp.text('foo')
def test_pretty():
MinRK
add `float_precision` trait to PlainTextFormatter...
r3350 f = PlainTextFormatter()
Robert Kern
ENH: Implement and test the default pretty formatter.
r3209 f.for_type(A, foo_printer)
nt.assert_equals(f(A()), 'foo')
nt.assert_equals(f(B()), 'foo')
f.pprint = False
nt.assert_equals(f(A()), 'A()')
nt.assert_equals(f(B()), 'B()')
def test_deferred():
MinRK
add `float_precision` trait to PlainTextFormatter...
r3350 f = PlainTextFormatter()
def test_precision():
"""test various values for float_precision."""
f = PlainTextFormatter()
nt.assert_equals(f(pi), repr(pi))
f.float_precision = 0
if numpy:
po = numpy.get_printoptions()
nt.assert_equals(po['precision'], 0)
nt.assert_equals(f(pi), '3')
f.float_precision = 2
if numpy:
po = numpy.get_printoptions()
nt.assert_equals(po['precision'], 2)
nt.assert_equals(f(pi), '3.14')
f.float_precision = '%g'
if numpy:
po = numpy.get_printoptions()
nt.assert_equals(po['precision'], 2)
nt.assert_equals(f(pi), '3.14159')
f.float_precision = '%e'
nt.assert_equals(f(pi), '3.141593e+00')
f.float_precision = ''
if numpy:
po = numpy.get_printoptions()
nt.assert_equals(po['precision'], 8)
nt.assert_equals(f(pi), repr(pi))
def test_bad_precision():
"""test various invalid values for float_precision."""
f = PlainTextFormatter()
def set_fp(p):
f.float_precision=p
nt.assert_raises(ValueError, set_fp, '%')
nt.assert_raises(ValueError, set_fp, '%.3f%i')
nt.assert_raises(ValueError, set_fp, 'foo')
nt.assert_raises(ValueError, set_fp, -1)
Robert Kern
ENH: Implement and test the default pretty formatter.
r3209