Inheritance diagram for nipy.testing.doctester:
Custom doctester based on Numpy doctester
To run doctests via nose, you’ll need nosetests nipy/testing/doctester.py --doctest-test, because this file will be identified as containing tests.
Bases: nipy.fixes.numpy.testing.noseclasses.NumpyDoctest
Attributes
enableOpt | |
extension |
Methods
addOptions(parser[, env]) | Add command-line options for this plugin. |
add_options(parser[, env]) | Non-camel-case version of func name for backwards compatibility. |
afterContext() | |
configure(options, config) | |
doctest_case_class | |
help() | Return help for this plugin. |
loadTestsFromFile(filename) | Load doctests from the file. |
loadTestsFromModule(module) | |
makeTest(obj, parent) | Look for doctests in the given object, which will be a |
matches(name) | |
options(parser[, env]) | |
out_check_class | |
prepareTestLoader(loader) | Capture loader’s suiteClass. |
set_test_context(test) | |
suiteClass | |
test_finder_class | |
tolist(val) | |
wantFile(file) |
Add command-line options for this plugin.
The base plugin class adds –with-$name by default, used to enable the plugin.
Non-camel-case version of func name for backwards compatibility.
Warning
DEPRECATED: Do not use this method, use options instead.
alias of NumpyDocTestCase
Return help for this plugin. This will be output as the help section of the –with-$name option that enables the plugin.
Load doctests from the file.
Tests are loaded only if filename’s extension matches configured doctest extension.
Look for doctests in the given object, which will be a function, method or class.
alias of NipyOutputChecker
Capture loader’s suiteClass.
This is used to create test suites from doctest files.
alias of DoctestSuite
alias of NumpyDocTestFinder
Bases: nipy.fixes.numpy.testing.noseclasses.NumpyOutputChecker
Methods
check_output(want, got, optionflags) | |
output_difference(example, got, optionflags) | Return a string describing the differences between the expected output for a given example (example) and the actual output (got). |
Return a string describing the differences between the expected output for a given example (example) and the actual output (got). optionflags is the set of option flags used to compare want and got.
Removes dtype=[dtype] from string in_str
Parameters : | in_str : str
|
---|---|
Returns : | out_str : str
|
Examples
>>> arr = np.arange(5, dtype='i2')
Here’s the normal repr:
>>> arr
array([0, 1, 2, 3, 4], dtype=int16)
The repr with the dtype bits removed
>>> ignore_dtype(repr(arr))
'array([0, 1, 2, 3, 4])'
>>> ignore_dtype('something(again, dtype=something)')
'something(again)'
Even if there are more closed brackets after the dtype
>>> ignore_dtype('something(again, dtype=something) (1, 2)')
'something(again) (1, 2)'
We need the close brackets to match
>>> ignore_dtype('again, dtype=something')
'again, dtype=something'
Replace fp numbers in in_str with numbers rounded to precision
Parameters : | in_str : str
precision : int
|
---|---|
Returns : | out_str : str
|
Examples
>>> round_numbers('A=0.234, B=12.345', 2)
'A=0.23, B=12.35'
Rounds the floating point value as it finds it in the string. This is even true for numbers with exponentials. Remember that:
>>> '%.3f' % 0.3339e-10
'0.000'
This routine will recognize an exponential as something to process, but only works on the decimal part (leaving the exponential part is it is):
>>> round_numbers('(0.3339e-10, "string")', 3)
'(0.334e-10, "string")'
Removes array-specific part of repr from string in_str
This parser only works on lines that contain only an array repr (and therefore start with array, and end with a close parenthesis. To remove dtypes in array reprs that may be somewhere within the line, use the IGNORE_DTYPE doctest option.
Parameters : | in_str : str
|
---|---|
Returns : | out_str : str
|
Examples
>>> arr = np.arange(5, dtype='i2')
Here’s the normal repr:
>>> arr
array([0, 1, 2, 3, 4], dtype=int16)
The repr with the ‘array’ bits removed:
>>> strip_array_repr(repr(arr))
'[0, 1, 2, 3, 4]'