[Python-checkins] r69012 - in python/trunk/Lib: doctest.py test/test_itertools.py
raymond.hettinger
python-checkins at python.org
Tue Jan 27 10:52:35 CET 2009
Author: raymond.hettinger
Date: Tue Jan 27 10:52:35 2009
New Revision: 69012
Log:
Stronger tests for combinatoric relationships.
Modified:
python/trunk/Lib/doctest.py
python/trunk/Lib/test/test_itertools.py
Modified: python/trunk/Lib/doctest.py
==============================================================================
--- python/trunk/Lib/doctest.py (original)
+++ python/trunk/Lib/doctest.py Tue Jan 27 10:52:35 2009
@@ -844,6 +844,8 @@
globs = globs.copy()
if extraglobs is not None:
globs.update(extraglobs)
+ if '__name__' not in globs:
+ globs['__name__'] = '__main__' # provide a default module name
# Recursively expore `obj`, extracting DocTests.
tests = []
@@ -1937,6 +1939,8 @@
globs = globs.copy()
if extraglobs is not None:
globs.update(extraglobs)
+ if '__name__' not in globs:
+ globs['__name__'] = '__main__'
if raise_on_error:
runner = DebugRunner(verbose=verbose, optionflags=optionflags)
Modified: python/trunk/Lib/test/test_itertools.py
==============================================================================
--- python/trunk/Lib/test/test_itertools.py (original)
+++ python/trunk/Lib/test/test_itertools.py Tue Jan 27 10:52:35 2009
@@ -281,11 +281,15 @@
perm = list(permutations(s, r))
comb = list(combinations(s, r))
+ self.assertEquals(len(prod), len(s)**r)
+ self.assertEquals(prod, sorted(set(prod))) # prod in lexicographic order without repeats
self.assertEquals(cwr, [t for t in prod if sorted(t)==list(t)]) # cwr: prods which are sorted
self.assertEquals(perm, [t for t in prod if len(set(t))==r]) # perm: prods with no dups
self.assertEqual(comb, [t for t in perm if sorted(t)==list(t)]) # comb: perms that are sorted
self.assertEqual(comb, [t for t in cwr if len(set(t))==r]) # comb: cwrs without dups
- self.assertEqual(set(comb), set(cwr) & set(perm)) # comb: both a cwr and a perm
+ self.assertEqual(comb, filter(set(cwr).__contains__, perm)) # comb: perm that is a cwr
+ self.assertEqual(comb, filter(set(perm).__contains__, cwr)) # comb: cwr that is a perm
+ self.assertEqual(comb, sorted(set(cwr) & set(perm))) # comb: both a cwr and a perm
def test_compress(self):
self.assertEqual(list(compress('ABCDEF', [1,0,1,0,1,1])), list('ACEF'))
More information about the Python-checkins
mailing list