[Python-checkins] python/dist/src/Lib/test test_doctest.py, 1.50,
1.51
edloper at users.sourceforge.net
edloper at users.sourceforge.net
Tue Sep 28 07:51:00 CEST 2004
Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14073/Lib/test
Modified Files:
test_doctest.py
Log Message:
Reverted the addition of a NORMALIZE_NUMBERS option, per Tim Peter's
request. Tim says that "correct 'fuzzy' comparison of floats cannot
be automated." (The motivation behind adding the new option
was verifying interactive examples in Python's latex documentation;
several such examples use numbers that don't print consistently on
different platforms.)
Index: test_doctest.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_doctest.py,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -d -r1.50 -r1.51
--- test_doctest.py 28 Sep 2004 04:29:57 -0000 1.50
+++ test_doctest.py 28 Sep 2004 05:50:57 -0000 1.51
@@ -1032,107 +1032,6 @@
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
-The NORMALIZE_NUMBERS flag causes numbers that are equal (to
-approximately 10 decimal places) but formatted differently to match.
-
- >>> def f(x): '''
- ... Numbers will match if they are exactly equal:
- ...
- ... >>> print 1.1, 'intervening text', 1L # should match
- ... 1.1 intervening text 1L
- ... >>> print 1.0j, 22, 22.0, 1, 1e1 # should match
- ... 1j 22.0 22 1 10.0
- ...
- ... Numbers will match if they are equal to 14 digits of
- ... precision:
- ...
- ... >>> 2.00000000001 # should match
- ... 1.99999999999
- ... >>> 2.000000001 # should not match
- ... 1.999999999
- ... >>> 2.00000000001e10 # should match
- ... 1.99999999999e10
- ... >>> 2.000000001e10 # should not match
- ... 1.999999999e10
- ... '''
-
- >>> # Without the flag:
- >>> test = doctest.DocTestFinder().find(f)[0]
- >>> doctest.DocTestRunner(verbose=False).run(test)
- ... # doctest: +ELLIPSIS
- **********************************************************************
- File ..., line 4, in f
- Failed example:
- print 1.1, 'intervening text', 1L # should match
- Expected:
- 1.1 intervening text 1L
- Got:
- 1.1 intervening text 1
- **********************************************************************
- File ..., line 6, in f
- Failed example:
- print 1.0j, 22, 22.0, 1, 1e1 # should match
- Expected:
- 1j 22.0 22 1 10.0
- Got:
- 1j 22 22.0 1 10.0
- **********************************************************************
- File ..., line 12, in f
- Failed example:
- 2.00000000001 # should match
- Expected:
- 1.99999999999
- Got:
- 2.00000000001
- **********************************************************************
- File ..., line 14, in f
- Failed example:
- 2.000000001 # should not match
- Expected:
- 1.999999999
- Got:
- 2.0000000010000001
- **********************************************************************
- File ..., line 16, in f
- Failed example:
- 2.00000000001e10 # should match
- Expected:
- 1.99999999999e10
- Got:
- 20000000000.099998
- **********************************************************************
- File ..., line 18, in f
- Failed example:
- 2.000000001e10 # should not match
- Expected:
- 1.999999999e10
- Got:
- 20000000010.0
- (6, 6)
-
- >>> # With the flag:
- >>> test = doctest.DocTestFinder().find(f)[0]
- >>> flags = doctest.NORMALIZE_NUMBERS
- >>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
- ... # doctest: +ELLIPSIS
- **********************************************************************
- File ..., line 14, in f
- Failed example:
- 2.000000001 # should not match
- Expected:
- 1.999999999
- Got:
- 2.0000000010000001
- **********************************************************************
- File ..., line 18, in f
- Failed example:
- 2.000000001e10 # should not match
- Expected:
- 1.999999999e10
- Got:
- 20000000010.0
- (2, 6)
-
The ELLIPSIS flag causes ellipsis marker ("...") in the expected
output to match any substring in the actual output:
More information about the Python-checkins
mailing list